Nyelv r wiki. Az R programozási nyelv és helye a statisztikai programok között

Programozás R. szinten 1. Alapok

Az R nyelv a világ legnépszerűbb statisztikai adatelemző eszköze. A lehetőségek széles skáláját tartalmazza az adatok elemzéséhez, megjelenítéséhez, valamint dokumentumok és webalkalmazások létrehozásához. Szeretné elsajátítani ezt az erőteljes nyelvet egy tapasztalt mentor vezetésével? Meghívjuk a tanfolyamra "R nyelvű programozás. 1. szint. Alapismeretek".

Ez a kurzus olyan szakemberek széles körének szól, akiknek nagy mennyiségű adatban kell mintákat keresniük, vizualizálniuk és statisztikailag helyes következtetéseket levonniuk: szociológusok, klinikai vizsgálatvezetők/farmakológusok, kutatók (csillagászat, fizika, biológia, genetika, orvostudomány, stb.), informatikai elemzők, üzleti elemzők, pénzügyi elemzők, marketingesek. A tanfolyam azoknak a szakembereknek is tetszeni fog, akik nem érzik jól magukat a funkcionalitásban (vagy a díjakban) / .

Az órákon alapkészségeket sajátíthat el az adatelemzésben és a környezetben való megjelenítésben R. Az idő nagy részét a gyakorlati feladatok és a valós adatkészletekkel való munka tölti. Megtanulja az adatokkal való munkavégzéshez szükséges összes új eszközt, és megtanulja, hogyan alkalmazza azokat a munkájában.

A tanfolyam után a központ továbbképzéséről szóló bizonyítványt állítanak ki.

Ezen az oldalon számos példa és cikk aktívan használja az „R” programozási nyelvet.

Az R for Linux rendszerint a disztribúció tárolóiból telepíthető. Debian-alapú disztribúciókat használok, amelyekben a szabványos parancs az R telepítéséhez így néz ki:

Sudo apt install r-base

Ezt be kell írnia a terminálba.

R szépsége ez:

  1. Ez a program ingyenes (a GPL licenc alatt terjesztve),
  2. Ehhez a programhoz számos csomagot írtak a problémák széles körének megoldására. Mindegyik ingyenes.
  3. A program nagyon rugalmas: bármilyen vektor és mátrix mérete a felhasználó kérésére változtatható, az adatoknak nincs merev szerkezete. Ez a tulajdonság rendkívül hasznosnak bizonyul előrejelzés esetén, amikor a kutatónak tetszőleges időszakra kell előrejelzést adnia.

Ez utóbbi tulajdonság különösen fontos, mivel más statisztikai csomagok (például SPSS, Eviews, Stata) azt feltételezik, hogy csak olyan adatok elemzése érdekelhet bennünket, amelyeknek rögzített szerkezete van (például egy munkafájlban minden adatnak azonos gyakoriságúnak kell lennie azonos kezdési dátummal és végével).

Az R azonban nem a legbarátságosabb program. Munka közben felejtse el az egeret - szinte az összes legfontosabb műveletet a parancssor segítségével hajtják végre. Azonban annak érdekében, hogy egy kicsit megkönnyítsük az életet, és maga a program egy kicsit barátságosabb legyen, létezik egy RStudio nevű frontend program. Innen tudod letölteni. Az R telepítése után kerül telepítésre. Az RStudio számos kényelmes eszközzel és szép felülettel rendelkezik, azonban az elemzés és előrejelzés továbbra is parancssor segítségével történik.

Próbáljunk meg egy pillantást vetni erre a csodálatos programra.

Ismerkedés az RStudióval

Az RStudio felülete így néz ki:

Az RStudio jobb felső sarkában megjelenik a projekt neve (amely egyelőre „Nincs” - vagyis hiányzik). Ha erre a feliratra kattintunk, és az „Új projekt” (új projekt) lehetőséget választjuk, a rendszer felkér egy projekt létrehozására. Alapvető előrejelzési célokra csak válassza ki az „Új könyvtár” (új mappa a projekthez), az „Üres projekt” (üres projekt) lehetőséget, majd adja meg a projekt nevét, és válassza ki a könyvtárat, amelybe menteni szeretné. Használd a fantáziádat és próbálj magad kitalálni egy nevet :).

Ha egy projekttel dolgozik, mindig hozzáférhet a benne tárolt adatokhoz, parancsokhoz és szkriptekhez.

Az RStudio ablakának bal oldalán található a konzol. Ide fogunk beírni különféle parancsokat. Például írjuk a következőket:

Ez a parancs 100 véletlenszerű változót generál normál eloszlásból nulla várakozással és egységnyi varianciával, majd létrehoz egy "x" nevű vektort, és beleírja a kapott 100 értéket. Szimbólum "<-» эквивалентен символу «=» и показывает какое значение присвоить нашей переменной, стоящей слева. Иногда вместо него удобней использовать символ «->”, bár a változónknak ebben az esetben a jobb oldalon kell lennie. Például a következő kód egy "y" objektumot hoz létre, amely teljesen azonos az "x" objektummal:

Ezek a vektorok most a képernyő jobb felső részén, a „Környezet” fül alatt jelennek meg:

Változások a „Környezet” lapon

A képernyő ezen része megjeleníti az összes objektumot, amelyet a munkamenet során mentünk. Például, ha létrehozunk egy ilyen mátrixot:

\(A = \begin(pmátrix) 1 & 1 \\ 0 & 1 \end(pmátrix) \)

ezzel a paranccsal:

majd megjelenik a „Környezet” lapon:

Minden általunk használt funkció megköveteli, hogy bizonyos paraméterekhez értéket rendeljünk. A mátrix() függvény a következő paraméterekkel rendelkezik:

  • adat – vektor a mátrixba írandó adatokkal,
  • nrow – a sorok száma a mátrixban,
  • ncol – a mátrix oszlopainak száma,
  • byrow - logikai paraméter. Ha „IGAZ” (igaz), akkor a mátrix sorokba kerül (balról jobbra, soronként). Alapértelmezés szerint ez a paraméter FALSE-ra van állítva.
  • dimnames - egy lap sor- és oszlopnevekkel.

Ezen paraméterek egy része alapértelmezett értékkel rendelkezik (például byrow=FALSE ), míg mások elhagyhatók (például dimnames ).

Az „R” egyik trükkje, hogy bármely függvény (például a mi mátrixunk () ) elérhető az értékek közvetlen megadásával:

Vagy megteheti úgy, ahogy korábban tettük – figyelve a sorrendet és kihagyva a paraméterek nevét.

A „Környezet” lapon található objektumok tartalmának megtekintéséhez egyszerűen nyomtassa ki a nevét a konzolon:

Egy másik lehetőség, hogy az objektum nevére kattint a "Környezet" lapon.

ahol a mátrix a minket érdeklő függvény neve. Ebben az esetben az RStudio megnyitja a „Súgó” panelt kifejezetten az Ön számára egy leírással:

A funkcióhoz segítséget is találhat, ha beírja a funkció nevét a „Súgó” fül „kereső” ablakába (objektíves ikon).

Ha nem emlékszik pontosan, hogyan kell beírni egy függvény nevét, vagy milyen paramétereket használ, egyszerűen kezdje el beírni a nevét a konzolba, és nyomja meg a „Tab” gombot:

Mindezek mellett az RStudióban is lehet szkripteket írni. Szükség lehet rájuk, ha programot kell írnia vagy függvénysorozatot kell meghívnia. A szkriptek a bal felső sarokban található pluszjellel ellátott gombbal hozhatók létre (a legördülő menüben az „R Script” lehetőséget kell kiválasztani). Az ezután megnyíló ablakban tetszőleges függvényeket, megjegyzéseket írhat. Például, ha egy vonalgráfot szeretnénk ábrázolni az x sorozaton, akkor ezt a következőképpen tehetjük meg:

Ábra(x) vonal(x)

Az első függvény egy egyszerű szórási diagramot készít, a második függvény pedig vonalakat ad hozzá a pontokat sorosan összekötő pontokhoz. Ha kiválasztja ezt a két parancsot, és megnyomja a „Ctrl+Enter” gombot, azok végrehajtásra kerülnek, így az RStudio megnyitja a „Plot” lapot a jobb alsó sarokban, és megjeleníti benne a kirajzolt ábrát.

Ha a jövőben is szükségünk lesz az összes begépelt parancsra, akkor ez a szkript elmenthető (floppy lemez a bal felső sarokban).

Abban az esetben, ha olyan parancsra kell hivatkoznia, amelyet már korábban begépelt, a képernyő jobb felső sarkában található egy „Előzmények” fül. Ebben megtalálhatja és kiválaszthatja az Önt érdeklő parancsokat, és duplán kattintva beillesztheti a konzolba. Magán a konzolon a billentyűzet Fel és Le gombjaival érheti el a korábbi parancsokat. A „Ctrl+Fel” billentyűkombináció lehetővé teszi, hogy megjelenítse az összes legutóbbi parancs listáját a konzolon.

Általánosságban elmondható, hogy az RStudio számos hasznos billentyűparancsot tartalmaz, amelyek jelentősen megkönnyítik a programmal való munkát. Bővebben olvashatsz róluk.

Mint korábban említettem, sok csomag létezik az R számára. Mindegyik a CRAN szerveren található, és bármelyik telepítéséhez ismernie kell a nevét. A csomagok telepítése és frissítése a „Csomagok” fülön keresztül történik. Ha rálépünk és a „Telepítés” gombra kattintunk, a következő menühöz hasonlót fogunk látni:

Írjuk be a megnyíló ablakba: az előrejelzés egy Rob J. Hyndman által írt csomag, amely egy csomó számunkra hasznos funkciót tartalmaz. Kattintson a „Telepítés” gombra, amely után az „előrejelzés” csomag telepítésre kerül.

Alternatív megoldásként tetszőleges csomagot telepíthetünk a nevének ismeretében a konzolban található paranccsal:

Install.packages("sima")

feltéve, hogy természetesen a CRAN tárolóban van. A smooth egy olyan csomag, amelynek funkcióit én fejlesztem és karbantartom.

Egyes csomagok csak forráskódban érhetők el az olyan webhelyeken, mint a github.com, és először meg kell őket építeni. Windows alatti csomagok készítéséhez szükség lehet az Rtools programra.

A telepített csomagok bármelyikének használatához engedélyeznie kell azt. Ehhez meg kell találnia a listában, és be kell jelölnie, vagy használja a parancsot a konzolban:

Könyvtár (előrejelzés)

Egy kellemetlen probléma jelentkezhet a Windowsban: egyes csomagok könnyen letölthetők és összeállíthatók, de semmilyen módon nem telepíthetők. R ebben az esetben valami ilyesmit ír: "Figyelem: az ideiglenes telepítés nem mozgatható...". Ebben az esetben csak annyit kell tennie, hogy hozzáadja az R betűvel ellátott mappát a víruskereső kivételei közé (vagy a csomagok telepítése közben kikapcsolja).

A csomag letöltése után a benne foglalt összes funkció elérhetővé válik számunkra. Például a tsdisplay() függvény, amely így használható:

Tsdisplay(x)

Három grafikont készít nekünk, amelyeket a „Forecaster Toolkit” fejezetben tárgyalunk.

Az előrejelzési csomagon kívül gyakran használom az Mcomp csomagot különféle példákhoz. Adatsorokat tartalmaz az M-Competition adatbázisból. Ezért azt javaslom, hogy te is telepítsd.

Nagyon gyakran nemcsak adathalmazokra lesz szükségünk, hanem a „ts” osztály adataira (idősorokra). Ha bármilyen változóból idősort szeretne készíteni, a következő parancsot kell futtatnia:

Itt a start paraméter lehetővé teszi, hogy megadjuk azt a dátumot, amelytől az idősorunk kezdődjön, a gyakoriság pedig az adatok gyakoriságát. Példánkban a 12-es szám azt jelzi, hogy havi adatokkal van dolgunk. A parancs végrehajtásának eredményeként az „x” vektorunkat 1984 januárjától kezdődő havi adatok idősorává alakítjuk.

Ezek az R és az RStudio alapelemei, amelyekre szükségünk lesz.

P.P.S. Pavel Polishchuk egy meglehetősen jó útmutatót tett közzé az R-hez a QSAR4U webhelyen.

P.P.P.S. A hivatalos weboldalon sok információ található az R-ről.

Önálló munkavégzés

Íme néhány feladat, amelyet saját maga végezhet el az R programban. Futtassa a következő parancsokat, nézze meg, mi történik, és próbálja megérteni, miért történt ez:

(41/3 + 78/4)*2 2^3+4 1/0 0/0 max(1,min(-2,5),max(2,pi)) sqrt(3^2+4^2) exp (2)+3i log(1024) log(1024, bázis=2) c(1:3) c(1:5)*2 + 4 x

]. – A szellemi munka proletárja. Végzettsége szerint fizikus. Több mint 30 éve dolgozom az orvosi és biológiai információk feldolgozásának területén.
Pontosan 10 éve dolgozom az R-ben, miután 15 évnyi szoros együttműködés után vándoroltam rá a Matlabbal. A másik munkahelyre való vándorlás elsődleges oka a saját fizikai vándorlásom volt a Föld másik végére, az új-zélandi Aucklandbe. Itt az élet az első napoktól kezdve R karjaiba lökött, amit még nem kellett megbánnom.

Egyre gyakrabban látom az R iránti érdeklődés kitörését a szakmai hálózatban. Nos, cikkek jelennek meg róla ezen a tekintélyes forráson. Tovább a vágás alatt található az első próbálkozásom az R orosz nyelvű bemutatására – az előadás első (szóbeli) része, amelyet három évvel ezelőtt az Iova Állami Egyetem Állattudományi Karának kollégáinak készítettem.
(oldalra: de kiderül, hogy nehéz lefordítani magad...)


Ebben a bejegyzésben

  • Mi az a R
  • Honnan jött
  • Miért szeretem őt
  • Mítoszok és igazságok

Mi történt R

Először is R egy programozási nyelvet használó statisztikai és egyéb tudományos számítások rendszere S .

S- írott nyelv statisztikusok által statisztikusoknak. John Chambers szerző meghatározása szerint. A nyelvet bevezetése óta nagyon jól fogadták, és nagyon igényes statisztikai felhasználók generációi tesztelték. Megállapítható, hogy a globális statisztikai közösségben meglehetősen széles körben ismert és elfogadott. A nyelven S Számos kritikus járványügyi, környezeti és pénzügyi modellt vezettek be, és még mindig működnek világszerte és számos iparágban. Milyen a nyelv az én, mint „író felhasználó” szemszögéből? S nagyon kellemes alternatívája a nyelvnek SAS .

Saját tapasztalatból - Bevezetés és első leckék S Jómagam a 90-es évek elején kaptam a WHO statisztikai szakértőitől, akikkel akkoriban összefonódtam a tudományos kutatásban.

Sok becslés szerint az R (számomra és nem túlzottan is) az egyik legsikeresebb nyílt forráskódú projekt, amelyet szabadon terjesztenek több tucat tükörből a világ minden tájáról a GNU licenc szabványok szerint.
A szerzők kategorikusan elutasítanak minden javaslatot a projekt kereskedelmi forgalomba hozatalára, bár ma már okkal feltételezhető, hogy az R telepített példányainak száma a világon meghaladja a teljes példányszámot. mindenki egyéb statisztikai elemző rendszerek.

A projekt a kezdetektől a mai napig a legmélyebb tiszteletet váltja ki bennem (a csodálat határán) a stabilitás, a felhasználói támogatás, a kódkompatibilitás stb. iránt, amit a koncepcióban ötvöznék kultúra.
Az utolsó mondat azonban inkább a következő alfejezetekre vonatkozik.

Honnan jött? Sés mi köze ennek R-hez?

Kétségtelen, hogy a Wikipédia még sok levelet fog adni.
Csak azt jegyzem meg, amit fontosnak tartok az S és R helyének megértéséhez ebben az életben ebben a világban.

A Bell Laboratories (más néven Bell Labs, AT&T Bell Labaratories) meglehetősen híres a tudomány és a technológia, és különösen az IT történetében. A statisztikai kutatásokat ott mindig nagyon komolyan végezték, és komolyan támogatták az összes rendelkezésre álló számítógépes eszközt (olvasd el - rengeteg Fortran és Lisp kódot).

A később S nyelvvé vált nyelv az 1970-es években, John Chambers kezdeményezésére és irányításával jött létre olyan szkriptek halmazaként, amelyek megkönnyítették az adatok Fortran kódba való „táplálását”. Azok. A fő hangsúly az interaktív adatkezelésre, a tömörségre, a könnyű írhatóságra és a kód olvashatóságára, valamint a különféle eszközökön, táblázatokon és grafikonokon való megfelelő kimenet elérésére irányult.

A nyelv szintaxisa szinte tetszőlegesen összetett adatszerkezetek, konkrét statisztikai feladatok és objektumok leírására szolgáló eszközök - statisztika - felépítését teszi lehetővé. tesztek, modellek stb.

1984 óta a nyelv nevet, saját „Bibliát” kapott (Chambers és Beckers könyve jelent meg: S: Interaktív környezet adatelemzéshez és grafikához), alapértelmezés szerint a statisztikák és a „valószínűségi tudósok” szinte teljes „úri halmazát” kezdte tartalmazni – eloszlásokat, véletlenszám-generátorokat, statisztikai teszteket, számos szabványos statisztikai elemzést, mátrixokkal való munkát stb., nem is beszélve egy fejlett rendszerről. tudományos grafika. A legfontosabb dolog az, hogy nagyon kedvező áron vált elérhetővé a felhasználók számára szerte a világon.

1988-ban (egy másik könyv jelent meg Az új S nyelv) - OOP segítségével módosítva minden nagyon ésszerű alapértelmezett értékekkel rendelkező objektum lett, módosíthatóság, öndokumentációs elemek stb., stb.

Ezzel egy időben a laboratóriumok közzétették a forráskódot és a „Bell Lab” S ingyenessé vált a hallgatók számára és tudományos használatra. Mindez valahogy összefüggött az AT&T „dekulakizálásával”, de ezek a részletek már nem nagyon érdekeltek.

A nyelvnek voltak, és valószínűleg még mindig vannak kereskedelmi megvalósításai S. keresztül jöttem S-PlusÉs S2000. Különböző időpontokban különböző cégek támogatták őket, elsősorban a korábban létrehozott támogatásnak köszönhetően éltek (éltek?). S alkalmazások. Ezekben a Bell utáni verziókban S megjelent az OOP motor új verziója, de a tiszta felhasználó számára szinte vértelen volt a történelmi kód kompatibilitása szempontjából.

R- a nyelv egyetlen nem kereskedelmi, teljesen független (az eredeti Belltől) megvalósítása S.

És manapság ritka megállapodásban, számomra elképzelhetetlen módon a reklám aktuális verzióinak fejlesztői Sés nonprofit R támogatják ezek szinte teljes kompatibilitását és folytonosságát.

És most R

Ebben az életben minden jelentős jelenség mögött valami karizmatikus személyiség áll. Ez azonban megtörténhet, és ez a jelenség jelentőségének meghatározása.

R esetében három ilyen ember van.
John Chamberst már említettem.

Ross Ihaka, az Aucklandi Egyetem Statisztikai Tanszékének hallgatója, majd kutatója disszertációjának témáját választotta (amelyet az MIT-n (USA) készítettek), hogy megvizsgálja egy virtuális gép (VM) felépítésének lehetőségét statisztikai célokra. programozási nyelvek. A választott köztes nyelv az volt Selypít (Common Lisp, CL), és olyan virtuális gép prototípust valósít meg, amely „megérti” a kis részhalmazokat SASÉs S.
Ross visszatért Oaklandbe, hogy befejezze disszertációját, ahol hamarosan találkozott Robert Gentlemannel, és érdeklődni kezdett az R projekt iránt.
Ross soha nem védte meg a disszertációját, de már több egyetemen szerzett tudományos fokozatot „összesített érdemek alapján”. Tavaly elnyerte a címet, és egyetemi docensi (asszisztensi) állást kapott otthoni egyetemén.

Robert Gentleman, egy másik, a programozás iránt szenvedélyes statisztikus, eredetileg Kanadából, miközben az Aucklandi Egyetemen gyakornokoskodott (akkor Ausztráliában dolgozott), azt javasolta Rossnak, hogy „írjon valami nyelvet”.
A legenda szerint, amit én is hallottam ezektől az „alapító atyáktól”, alig egy hónap alatt, őrült lelkesedésükben újraírták C.L. szinte minden csapat S, beleértve egy erőteljes lineáris modellező könyvtárat.

Számítógép motor R, a prototípus hagyományait követve a jól ismert, általánosan elfogadott és ingyenes BLAS könyvtárat választották (az ATLAS stb. használatának lehetőségével azonos felülettel).
Paul Murrel, Ross egyik legközelebbi barátja, egyben az Oaklandi Egyetem alkalmazottja, kiment az útjából, és (úgy tűnik, C nyelven) a semmiből írt egy grafikus motort, amely teljesen reprodukálja a funkcionalitást. S.

Az eredmény egy ingyenes, teljesen működőképes csomag lett, amely azonnal helyet kapott az Oakland Egyetem oktatási folyamatában, teljesen összhangban van Chambers nagyon részletes és jó minőségű könyveiben található leírásokkal, amelyeket hagyományosan puhakötésben és átlagos nyomtatási minőségben adtak ki, de olcsók és elérhetőek voltak.
A GNU (pl. GIS) mozgalom számos aktivista csoportja elfogadta az R-t a tudományos számítástechnika platformjaként.

De valóban a legszélesebb körű hírnév R akkor szerezte meg a bioinformatikában, amikor az egyik „atyja”, Robert Gentleman, aki akkoriban részt vett az Affimmetrix cég munkájában, megkettőzte a cég kereskedelmi szoftverének összes funkcionalitását, és elindította (na jó, persze többet is) a nyílt forrásprojekt Bioconductor. Jelenleg Biovezető vitathatatlanul vezető szerepet tölt be a bioinformatikában, nyílt forráskódú minden „omika” (genomika, proteomika, metabolomika stb.) számára.

Természetesen a bioinformatikai fantáziák eme lázadásának egyetlen interfész nyelve lett R.

A kör akkor telt be, amikor a nyugdíjas Chambers, a nyelv megalkotója S, teljes jogú tagja lett az aktív fejlesztők csoportjának R.

Miért szeretem őt (lista)

  1. Interaktivitás, „Programozás adatokkal” – a kedvenc munkastílusom
  2. Elegáns (amatőr) nyelv - szeretem a listákat, adatkereteket, a funkcionális programozást és a lambda függvényeket (a-la) Szólásszabadság: ugyanazt a problémát tízféleképpen lehet megoldani (csillapítja a rutin érzését)
  3. „Józanul nézi ezt a világot” - ritkán „összeomlik” vagy „felfüggeszt” bárkit, logikai műveletek hiányzó adatokkal, hibakezelés futás közben (try-error), egyszerű csere a rendszerrel szabványos I/O szinten stb.
  4. Használatra kész statisztikai eljárások teljes készlete
  5. Jól dokumentált és jól karbantartott – kompatibilitás, folytonosság stb.
  6. Egy emberileg kellemes szakmai közösséget gyűjtött körém (fórumok, felhasználói konferenciák, stb.)
  7. Jól dokumentált felület külső könyvtárakhoz és funkciókhoz bármin - Fortran, C, Java. Ezért a jól dokumentált könyvtárak tengere a statisztika és adattudomány minden aspektusáról szinte minden tudományterületen, de elsősorban a bioinformatikára/biostatisztikára összpontosítva; mindent rendszeresen és helyesen frissítenek, ha a szerző akarata van rá
  8. A kötelező grafikus felhasználói felület hiánya az „alapkonfigurációban” - Nos, én nem vagyok „egér” ember!
Lekerült a listáról: Örülök, hogy a fő munkaeszközömnek... lelke van.
Valójában ezt próbálom bemutatni cikkemben.

Miért és hogyan használom (példák)

Ebbe a részbe kezdtem írni, de abbahagytam.
Különben soha nem fejeztem volna be.
Ó, valószínűleg valamikor később.

Mítoszok és igazságok

R lassú
R „vékony”, blas/lapack/atlas könyvtárakat használ a számításokhoz, próbálj meg valami gyorsabbat írni, mint ezek a jó öreg Fortran (gyakran) „igáslovak”. Az összes kritikus függvény általában vektorműveleteket használ, és implementálva van VAL VEL.
R irracionálisan használja a számítási erőforrásokat, különösen a memóriát
Igen, a fejlesztők beismerik ezt a bűnt. De egy szakember munkaideje ma már sokkal drágább, mint a hardveré. Töltsön ki játékokat egy modern munkahelyi számítógépről, és a legtöbb valós adatkészlettel nem lesz problémája az R-vel.
Az ingyenes szoftverek nem biztos, hogy megbízhatóak
Talán: Fortran, Linux, C, Lisp, Java stb.
Epilógus helyett
Ahogy fentebb említettük, az alábbi bejegyzés tulajdonképpen az előadásom fordítása egy meglehetősen meghatározott célközönség számára, és röviden ismertetem ezt a közönséget.

Sok „tiszta” informatikai cégnek meg kell találkoznia ilyen emberekkel, mivel az élelmiszertermelés régóta versenyez az olajjal és más energiaforrásokkal a tőke vonzása és a nyereség elérése érdekében. A bioinformatikai piac kapacitása pedig az orvostudományban és a farmakológiában korlátozott, akárhogyan is nézzük.

Tehát a közönségem genetikai és tenyésztési, állatorvosi és ritkábban biológiai (főleg molekuláris) alapfokú végzettséggel rendelkezők. Srácok és nénik (utóbbiakból inkább), 20-30 évesek... programozás (!) on FORTRANE vagy VB, híresen kezelik a 100 000 sorral/oszloppal rendelkező Excel táblákat, és időről időre „eldobják” feladataikat (és programozásukat) a 12 TB megosztott memóriával rendelkező 500+ magos Linux számítástechnikai klaszterükön, és időről időre megkövetelik a lemezmemória bővítését egy másikkal. tíz terabájt.

A módszertani alap olyan ősi varianciaanalízis robbanásszerű keveréke, mint a világ, vegyes modellekkel, amelyeket nem máshogy oldottak meg, mint a maximum likelihood módszerrel, „agyolvadó” Bayes-hálózatokkal stb.

Adatok - adattáblázatok egységektől több tízezer sorig, amelyek néha 1-5 oszlopot tartalmaznak fenotípusokkal, de egyre gyakrabban több tíz vagy száz „Ka” oszlopot tartalmaznak, amelyek egymással és a fenotípusokkal gyengén korrelálnak.

Nos, igen, náluk is van „jó hagyományuk”, hogy mindent a családi kötelékek (végül is a genetika) szempontjából néznek. A rokoni kapcsolatokat hagyományosan „rokonsági kötelékek” (származék) mátrixaként mutatják be, amelynek méretei például 40 000 x 40 000 (ez az, ha 40 000 állatról van szó). Nos, vagy (egyelőre szerencsére csak a projektben) 20 000 000 x 20 000 000 - ez arra való, hogy egyetlen modellel „lefedjük” az adatbázisban elérhető mind a 20 millió történelmi állatot ( DB2, ha valakit érdekel, és még Cobolt sem „nyírták ki” mindenhonnan...)

A témával foglalkozó irodalommal teli asztalokon (egy időben) Fortran, Java, C#, Scala, Octavia, Linux for Dummies frissen végzett bioinformatikusokat ismerheti fel. De valahogy gyorsan sokan elhagyják a tudományt, hogy „kódolókká” váljanak.

Viszont ismerek fordított mozgás esetét is. Így R sokak számára hasznos lesz.

Szeretnék beszélni az ingyenes R statisztikai elemző környezet használatáról. Úgy gondolom, hogy alternatívának tekintem az olyan statisztikai csomagok mellett, mint az SPSS Statistics. Mély sajnálatomra teljesen ismeretlen Szülőföldünk hatalmasságában, de hiába. Úgy gondolom, hogy az S-ben további statisztikai elemzési eljárások írásának képessége az R-t hasznos adatelemző eszközzé teszi.

2010 tavaszi szemeszterében lehetőségem nyílt előadást tartani és gyakorlati órákat tartani az Orosz Állami Bölcsészettudományi Egyetem Intelligens Rendszerek Tanszékének hallgatói számára a „Statisztikai adatelemzés” kurzusban.

Hallgatóim korábban egy féléves valószínűségszámítási tanfolyamon vettek részt, amely a diszkrét valószínűségi terek alapjait, a feltételes valószínűségeket, a Bayes-tételt, a nagy számok törvényét, a normáltörvény hátterét és a központi határtételt ismertette.

Körülbelül öt évvel ezelőtt már a „Valószínűségszámítás és matematikai statisztika alapjai” félévig tartó (akkor összevont) tanfolyamon tanítottam órákat, ezért kibővítettem a statisztikával kapcsolatos (az egyes órák előtt a hallgatóknak adott) jegyzeteimet. Most, hogy az Orosz Állami Bölcsészettudományi Egyetemnek van egy hallgatói szervere az isdwiki.rsuh.ru tanszéken, egyidejűleg feltöltöm őket FTP-re.

Felmerült a kérdés: milyen programmal kell gyakorlati órákat levezetni számítógépes osztályon? A gyakran használt Microsoft Excelt egyrészt azért utasították el, mert szabadalmaztatott, másrészt azért, mert néhány statisztikai eljárást hibásan valósított meg. Erről például A.A. Makarov és Yu.N. Tyurin „Az adatok statisztikai elemzése számítógépen” című könyvében olvashat. Az ingyenes Openoffice.org irodai programcsomag Calc táblázatait úgy oroszosították, hogy alig találom a szükséges függvényt (a nevüket is undorítóan lerövidítették).

A leggyakrabban használt csomag az SPSS Statistics. Az SPSS-t most felvásárolta az IBM. Az IBM SPSS Statistics előnyei közül szeretném kiemelni:

  • Kényelmes adatok betöltése különböző formátumokban (Excel, SAS, OLE DB-n keresztül, ODBC Direct Driver segítségével);
  • Egy parancsnyelv és egy kiterjedt menürendszer elérhetősége a különböző statisztikai elemzési eljárások közvetlen eléréséhez;
  • Grafikus eszközök az eredmények megjelenítésére;
  • Beépített Statistics Coach modul, amely interaktívan megfelelő elemzési módszert javasol.
Véleményem szerint az IBM SPSS Statistics hátrányai a következők:
  • Fizetés akár diákoknak is;
  • Speciális eljárásokat tartalmazó modulok (kiegészítő fizetős) beszerzésének igénye;
  • Csak a 32 bites Linux operációs rendszereket támogatja, bár a Windows támogatja a 32 bites és a 64 bites egyaránt.
Alternatív megoldásként a . Ezt a rendszert Robert Gentleman és Ross Ihak erőfeszítései révén kezdték kifejleszteni a Melbourne-i Egyetem Statisztikai Tanszékén 1995-ben. A szerzők nevének kezdőbetűi határozták meg a címet. Ezt követően vezető statisztikusok vettek részt e rendszer fejlesztésében és bővítésében.

A tárgyalt rendszer előnyeit tekintem:

  • A program terjesztése a GNU Public License alatt;
  • A forráskód és a bináris modulok elérhetősége a kiterjedt CRAN (The Comprehensive R Archive Network) adattárhálózatban. Oroszország esetében ez a cran.gis-lab.info szerver;
  • Telepítőcsomag elérhetősége Windowshoz (32 és 64 bites Vista rendszeren is működik). Véletlenül derült ki, hogy a telepítéshez nem kell rendszergazdai jogosultság Windows XP alatt;
  • Lehetőség a lerakatból való telepítésre Linuxon (az Ubuntu 9.10 64 bites verzióján működik nálam);
  • Saját programozási nyelv elérhetősége az R statisztikai eljárásokhoz, ami tulajdonképpen szabvánnyá vált. Például teljes mértékben támogatja az új IBM SPSS Statistics Developer;
  • Ez a nyelv a Bell Labs-nál kifejlesztett S nyelv kiterjesztése, amely jelenleg a kereskedelmi S-PLUS rendszer alapját képezi. A legtöbb S-PLUS-ra írt program könnyen végrehajtható R környezetben;
  • Képes adatcserére táblázatokkal;
  • Lehetőség a teljes számítási előzmények dokumentálási célú mentésére.
Az első órára CD-k készültek, amelyekre telepítő fájlok, dokumentációk, kézikönyvek kerültek rögzítésre. Utóbbiról mesélek bővebben. A CRAN részletes használati útmutatót ad a telepítéshez, az R nyelvhez (és annak S részhalmazához), további statisztikai eljárások írásához, valamint adatok exportálásához és importálásához. A Contributed Documentation rész nagyszámú publikációt tartalmaz olyan statisztikai tanároktól, akik ezt a csomagot az oktatási folyamatban használják. Oroszul sajnos nincs semmi, bár például még lengyelül is van. Az angol nyelvű könyvek közül szeretném megemlíteni John Verzani professzor, a New York-i Városi Egyetem professzorának „R használata a bevezető statisztikához”, valamint Rossiter (Hollandia) professzor „Introduction to the R project for Statistical Computing” című könyvét. Geoinformatikai és Földmegfigyelési Intézet.

Az első leckét a csomag telepítése és használatának elsajátítása, az R nyelv szintaxisának megismerése, valamint az integrálok számítása Monte Carlo módszerrel próbafeladatként használtam. Itt van egy példa az r.v valószínűségének kiszámítására. exponenciális eloszlás esetén a 3. paraméterrel vegyen fel 0,5-nél kisebb értéket (10000 a próbálkozások száma).
> x=runif(10000;0;0,5)
> y=runif(10000;0;3)
>t=y<3*exp(-3*x)
> u=x[t]
>v=y[t]
> plot(u,v)
> i=0,5*3*hossz(u)/10000

Az első két sor az x téglalap pontjainak egyenletes eloszlását adja meg, majd kijelöljük azokat a pontokat, amelyek a 3*exp(-3*x) exponenciális sűrűséggráf alá esnek, a plot függvény megjeleníti a pontokat a grafikus kimeneti ablakban, és végül kiszámítjuk a szükséges integrált.
A második leckét a leíró statisztikák (kvantilisok, medián, átlag, variancia, korreláció és kovariancia) kiszámításának és a grafikonok (hisztogramok, doboz- és bajuszjelek) készítésének szentelték.
A következő órákon az Rcmdr könyvtárat használták. Ez egy grafikus felhasználói felület (GUI) az R környezethez. A könyvtárat John Fox professzor, a kanadai McMaster Egyetem munkatársa készítette.

A könyvtár telepítése az install.packages("Rcmdr", dependencies=TRUE) parancs végrehajtásával történik az R környezetben. Ha maga a környezet egy R nyelv értelmező, akkor az "Rcmdr" kiegészítő egy további ablak nagyszámú, szabványos statisztikai eljárásnak megfelelő parancsot tartalmazó menürendszerrel van felszerelve. Ez különösen olyan kurzusoknál kényelmes, ahol a fő a gombnyomás megtanítása (sajnálom, hogy ezek egyre gyakoribbak).

Kibővítettem az előző tanfolyamom szemináriumi jegyzeteit. FTP-n keresztül is elérhetők az isdwiki.rsuh.ru webhelyről. Ezek a megjegyzések a kritikus értékek táblázatait tartalmazták, amelyeket a tábla számításaihoz használtak. Ebben az évben a diákokat arra ösztönözték, hogy ezeket a feladatokat számítógépen oldják meg, és a jegyzetekben is megadott (normál) közelítésekkel ellenőrizzék a táblázatokat.

Volt néhány hibám is. Például túl későn jöttem rá, hogy az Rcmdr lehetővé teszi a letöltött csomagokból származó adatok importálását, így viszonylag nagy mintákat csak a regressziós elemzés osztályaiban dolgoztak fel. A nemparaméteres tesztek bemutatásakor a hallgatók kézzel írták be az adatokat a jegyzeteim segítségével. Egy másik hátrány, ahogy most értem, az volt, hogy nem volt elegendő házi feladat elég bonyolult R nyelvű programok megírásához.

Megjegyzendő, hogy több felső tagozatos diák is részt vett az óráimon, néhányan pedig előadásokról, szemináriumokról töltöttek le anyagokat. Az Orosz Állami Bölcsészettudományi Egyetem Intelligens Rendszerek Tanszékének hallgatói alapvető matematikai és programozási képzésben részesülnek, így számomra nagyon hasznosnak tűnik az R környezet használata (a táblázatok és a rögzített statisztikai eljárásokat tartalmazó statisztikai csomagok helyett).

Ha a statisztika tanulmányozása és különösen a statisztikai adatfeldolgozás nem szabványos eljárásainak megírása előtt áll, akkor azt javaslom, hogy fordítsa figyelmét az R csomagra.

Nemrég találkoztam egy ilyen jelenséggel – sokan hallottak már az R programozási nyelvről. De nagyon kevesen tudják, mi az.

Mivel ezt a nyelvet anyanyelvi beszélem, és érdekel a népszerűsítése, ebben a bejegyzésben igyekszem egy kicsit kitérni a témára. Érdekes lesz!

A terv egyszerű:

1) Mi az R nyelv?

2) Népszerűség Oroszországban

Mi az R nyelv

Az R (wiki) egy programozási nyelv statisztikai adatfeldolgozáshoz és grafikus megjelenítéshez, valamint egy ingyenes, nyílt forráskódú számítási környezet a GNU Project keretében.

Véleményünk szerint: A nyelv ideális a piaci minták keresésére. Ingyenes, gyors és ingyenes.

Lehetővé teszi, hogy statisztikai vizsgálatokat végezzen mindenről, ami csak a kezébe kerül. Fennállásának évei során több tucat és több száz bővítmény jelent meg szinte minden alkalmazási probléma megoldására.

Ez a LEGNépszerűbb programozási nyelv az algoritmikus kereskedők számára Nyugaton. Ez a gépi tanulás és a statisztika területén jelenleg elérhető kínálat élvonalába tartozik.

Ha programokat szeretne írni R nyelven, töltse le az R-Studio-t, és kész



Nem sokkal ezelőtt a nyelv népszerűsítésének részeként felvettem egy „R mindenkinek” minikurzust. Ingyenes. Tekintse meg, milyen egyszerűen működik mindez, és milyen gyorsan írhat rá szkripteket. Ez egyszerűen nagyszerű!

Népszerűség Oroszországban

Sok kívánnivalót hagy maga után.

Ha Nyugaton az összes kutatás 90%-át ezen a nyelven végzik, akkor Oroszországban ritka hét telik el a SmartLab-on, amelyben legalább egy említést talál róla. Azok. kritikusan csekély azoknak a száma, akik ismerik az R-t.

Ennek a helyzetnek az okai között szerepel az orosz nyelvű kézikönyvek hiánya a közelmúltig, a képzések hiánya, a kereskedők alacsony írástudása és még sok más. Ne beszéljünk erről.

Az egyetlen fontos dolog az, hogy ennek a nyelvnek a népszerűsége Oroszországban és a FÁK-ban folyamatosan növekszik.

Az orosz felhasználók belefáradtak a törött API-kba és a drága kereskedelmi rendszerekbe. A szabad R nyelv a kereskedéssel összefüggésben hamarosan elfoglalja az őt megillető helyet az eszköztárukban. Csatlakozz hozzánk!

Ez minden mára. Remélem érdekes volt.

Tekintse meg ingyenes tanfolyamomat, hogy megtudja, milyen egyszerű a kódírás. Írj robotokat!

A rovat legfrissebb anyagai:

A leendő tanárok vizsgát tesznek a gyerekekkel való munkavégzés képességéről - Rossiyskaya Gazeta Mit kell tenni, hogy tanár legyen
A leendő tanárok vizsgát tesznek a gyerekekkel való munkavégzés képességéről - Rossiyskaya Gazeta Mit kell tenni, hogy tanár legyen

Az általános iskolai tanár nemes és intelligens szakma. Általában sikereket érnek el ezen a területen, és sokáig maradnak...

I. Nagy Péter - életrajz, információk, személyes élet
I. Nagy Péter - életrajz, információk, személyes élet

I. Péter életrajza 1672. június 9-én kezdődik Moszkvában. Alekszej Mihajlovics cár legfiatalabb fia volt Natalja cárnővel kötött második házasságából...

Novoszibirszki Felső Katonai Parancsnoksági Iskola: szakterületek
Novoszibirszki Felső Katonai Parancsnoksági Iskola: szakterületek

NOVOSZIBIRSZ, november 5. – RIA Novosztyi, Grigorij Kronics. A katonai hírszerzés napjának előestéjén a RIA Novosztyi tudósítói meglátogatták Oroszország egyetlen...