tutorial – r-projekt.hu R: az ingyenes adatelemző szoftver és statisztikai programozási környezet Fri, 26 Mar 2021 00:15:32 +0000 hu hourly 1 https://wordpress.org/?v=4.8.18 Try R – ingyenes statisztikai programozás kurzus /2012/12/07/try-r-ingyenes-statisztikai-programozas-kurzus/ /2012/12/07/try-r-ingyenes-statisztikai-programozas-kurzus/#comments Fri, 07 Dec 2012 07:20:00 +0000 /?p=195 Continue reading ]]> Sokak számára nehéz időt találni a Coursera kurzusainak követésére, vagy nem rendelkeznek kellő alapokkal ahhoz hogy belevágjanak egybe. Habár a Udacity remek munkát végzett és rövid részekre oszt egy-egy leckét és saját tempójában haladhat a tanuló ezeken végig, még így is sok időt kell invesztálni egy kurzus elvégzésébe. A Try R nem kínál királyi utat a statisztikai programozás iránt érdeklődőknek, de elvégzésével biztos alapokra tehet szert bárki, ami a további kurzusoknál nagyon jól jöhet. A tananyag hét “fejezetre” van tagolva, az első három az R nyelv alapjaiba nyújt bevezetést, a harmadik a klasszikus leíró statisztikával foglalkozik, majd az alapvető adatstruktúrákkal ismerkedhet meg az olvasó, az utolsó fejezetben pedig haladóbb témákba is belekóstolhat a tanuló. A gamification divatnak megfelelően “badges” gyűjtést folytat az aki végigmegy az egyes leckéken, amiről én nem tudom eldönteni hogy nettó poén, vagy tényleg inspiráló dolog. A c<>de school és az O’Reilly nagyon jó mukát végzett, most már nincs mentség és ha valaki meg akarja tanulni a statisztikai programozás alapjait, csak az elhatározás hiánya állhat útjába.

Via: Try R – ingyenes statisztikai programozás kurzus

]]>
/2012/12/07/try-r-ingyenes-statisztikai-programozas-kurzus/feed/ 770
Meetup video: Ingo Feinerer: Distributed Text Mining in R /2012/08/03/meetup-video-ingo-feinerer-distributed-text-mining-in-r/ /2012/08/03/meetup-video-ingo-feinerer-distributed-text-mining-in-r/#comments Fri, 03 Aug 2012 06:14:00 +0000 /?p=198 Continue reading ]]> We started a Vimeo channel where you can watch the talks of the Hungarian Natural Language Processing Meetup.

Ingo Feinerer (TU Vienna): Distributed Text Mining in R from Szamitogepes nyelveszet on Vimeo.

Via: Meetup video: Ingo Feinerer: Distributed Text Mining in R

]]>
/2012/08/03/meetup-video-ingo-feinerer-distributed-text-mining-in-r/feed/ 785
Számítógépes nyelvészet 101: Programozás /2012/06/29/szamitogepes-nyelveszet-101-programozas/ /2012/06/29/szamitogepes-nyelveszet-101-programozas/#comments Fri, 29 Jun 2012 06:54:00 +0000 /?p=199 Continue reading ]]> Sorozatunk korábbi részeiben áttekintettük hogy milyen matematikai és információtechnológiai alapismeretekkel illene magunkat felvértezni. Most érkeztünk el oda, amit mindenki triviálisnak tart; egy számítógépes nyelvész programozni szokott. Ellenben itt sem olyan egyszerű a helyzet, mint látni fogjuk.

Kimenet Kezdjük ismét a kimenettel! Induljunk ki abból hogy milyen környezetbe kell be illeszkednünk. Nem rég a mathbabe blogon megjelent egy érdekes írás Coding is like being in a band címmel, ami remekül rávilágít arra milyen amikor egy kutató komolyan programozni kezd. A szoftvermérnökség külön szakma, ha olyan szintre szeretnél eljutni mint egy jó programozó, valószínűleg nem sok időd marad másra. Egy számítógépes nyelvész dolga az hogy a programozókat maximálisan ki tudja szolgálni! Ehhez általában prototípusokat ad át, a kollégák rendelkezésére áll és gyakran csodálkozik azon hogy milyen okos emberekkel van körülvéve. Gyakran valamilyen szkript nyelven dolgozunk ki egy prototípust, ezt adjuk át a programozó kollégáknak, akik darabokra szednek minket miközben ötleteinkre alapozva valami nagyot alkotnak.
Mielőtt belebonyolódnánk abba hogy milyen készségeket kell kialakítanunk ahhoz hogy egy team tagjai lehessünk, érdemes elolvasni Peter Naur Programming as Theory Building esszéjét. Ennek alapgondolata az hogy egy szoftver fejlesztése során explicitté tesszük az alkotók tudását (egy adott területre vonatkozóan). Ennél szebben eddig még senki nem írta le ezt a folyamatot. Viszont a mi esetünk speciális!
Tudományos programozás A tudományos kutatás során sincs másról szó mint a tudásunk kódba öntéséről. Ellenben a tudományos programok nem termékek, hanem mankók. Nem általánosítanak, hanem specifikusan adott problémára, vagy problémahalmazra vonatkoznak. Sokszor parancssorból indítjuk a szkripteket és általában ún. batch processing a folyamat. Ez messze van pl. egy Word szövegszerkesztőtől, vagy egy Prezitől. A számítógépes nyelvészeknek azonban itt kell kezdeni!
Kezdő lépések A mai gyerekeknek (és idősebb érdeklődőknek) már nem jelent problémát hogy elinduljanak. Rengeteg jó minőségű, online elérhető, ingyenes tananyag várja a szellemi kalandokra vágyók tömegeit.
  • Codeacademy – érdemes itt kezdeni annak aki még nem programozott. A html és a javascript ismerete alap és egyben hasznos.
  • Udacity – Zseniális kezdeményezés. A bevezető kurzus Python-t használ, hét hét alatt egy saját kereső készítésén keresztül sajátíthatjuk el az alapokat. A haladóbb kurzusok lefedik a programtervezést, az algoritmusokat és még statisztikát is tanulhatunk. Mindezt a Google nagyágyúitól!
  • MIT OpenCoursware – az Introduction to Computer Science and Programming kurzus két verzióban érhető el, Python és Scheme nyelvekre. Habár bevezető, nem ajánlott teljesen kezdőknek.
Hogyan tovább? Mindenki ismer valakit aki huszanhat programozási nyelvben jártas és mindegyiket feltétlenül ajánlja. Biztos vannak ilyen poliglott emberek, de nekünk két nyelvet kell jól ismernünk. A Python és az R bőven elég kezdetnek. Az alábbi posztjainkban már szóltunk erről:
És persze ne felejtsük el az NLTK-t és a hozzá tartozó szabadon hozzáférhető könyvet. Ez az anyag önmagában is leköthet minket egy jó időre. Hozzá csapatjuk még a listához
ezeket a könyveket hogy lássuk miképp illeszkedik a sok elméleti okoskodás az ipari felhasználáshoz. Lássuk be, ekkora leterheltség mellett nem marad idő másra.
Ha tisztességesen megtanuljuk a Python-t és végigmegyünk a fent ajánlott köteteken, akkor egész jó képünk lesz arról hogy az elmélettől miképp jutunk el a megvalósításig. Ne feledjük azonban hogy olvasni nem minden, saját projekteken keresztül lehet a legjobban tanulni.
Az R segítségével képbe kerülünk korpusznyelvészet terén, valamennyire a számítógépes statisztikára is rálátásunk lesz. További motiváló tényező hogy sok gépi tanulással foglalkozó könyvhöz találunk R kódot a neten.
További csábító terület lehet a funkcionális és a logikai programozás. Erre külön posztban fogunk kitérni. Most inkább arra buzdítunk mindenkit hogy álljon ellent! Aki csak most vág bele a szakma elsajátításába, az inkább fektessen hangsúlyt a biztos alapok lefektetésére.
És még ez sem minden Az tudományos programozás közben törekednünk kell jó praktikák kialakítására. Használjunk verziókövetőt, ismerkedjünk meg a különféle programozási metodológiákkal (agile, TDD, stb). A Software Carpentry remek kiindulás pont azoknak akik a tudományos programozás felől közelítenek az iparhoz.

Via: Számítógépes nyelvészet 101: Programozás

]]>
/2012/06/29/szamitogepes-nyelveszet-101-programozas/feed/ 556
R tutorial előtt /2012/06/02/r-tutorial-elott/ /2012/06/02/r-tutorial-elott/#comments Sat, 02 Jun 2012 09:15:00 +0000 /?p=200 Continue reading ]]> Két hónap múlva egy egész napot szentelünk az R nyelvnek és a tm csomagnak. Már csak 18 szabad hely maradt, ha nem szeretnél lemaradni, regisztrálj mihamarabb! A rendezvény ingyenes (köszönet a Weblibnek!), csupán te, a laptopod és némi előkészület szükséges hozzá – ez a poszt ebben szeretne segíteni.

Ha regisztráltál a rendezvényre, akkor feltételezhető hogy tudsz angolul és nem csak felhasználói szinten értesz a számítástechnikához, hanem vagy magadtól vagy egy bevezető jellegű kurzus keretében már elsajátítottad a programozás alapjait. A tutorialhoz ezen felül csupán arra van szükséged hogy a) telepítsd az R-t gépedre b) egy szövegszerkesztőből vagy IDE-ből tudd kezelni.

Alapok

  • Telepítsd az operációs rendszerednek megfelelő R disztribúciót (Ubuntu használók nyugodtan apt-get install-t is használhatnak). Az R honlapja eligazít ebben.
  • Telepítsd az R Studio-t. A legelterjedtebb IDE az R-rel végzett munkára ma az R Studio. Ha van olyan IDE vagy szövegszerkesztő amit szeretsz, akkor egy kis guglizással bizonyára megtalálod a megfelelő beállításokat. (emacs használóknak én az ESS csomagot ajánlom!)
  • Indítsd el az R-t (Ubuntuban szimplán az R paranccsal a konzolról, Windowson a start menüből) és telepítsd a tm csomagot az install.packages(“tm”) parancs beírásával. Ennek eredménye egy felugró ablak, amin kiválaszthatsz egy számodra szimpatikus helyet ahonnét leszedi a program automatikusan a csomagot és telepíti neked. Tipp, sokan Ubuntu alatt sudo R-t indítanak telepítés előtt.
Ingyenes anyagok
  • simpleR – Verzani nem éppen rövid (114 oldalas) bevezetője a legjobb hogy megismerkedj az R nyelvvel és a statisztikával. Könnyen olvasható, ha elszánt vagy akkor a legjobb bemelegítés a témához.
  • Singular Value Decomposition Tutorial – a tm csomag mátrix algebrai módszerekkel van tele, érdemes átnézni egy kicsit mi áll a háttérben
  • Word Vectors and Search Engines – Dominic Widdows Geometry and Meaning című zseniális könyvének fejezete ami szintén nagyon hasznos előtanulmány
Egyéb

Via: R tutorial előtt

]]>
/2012/06/02/r-tutorial-elott/feed/ 580
Adatbányászat és R tutorial meetup /2012/05/25/adatbanyaszat-es-r-tutorial-meetup/ /2012/05/25/adatbanyaszat-es-r-tutorial-meetup/#comments Fri, 25 May 2012 17:56:00 +0000 /?p=201 Continue reading ]]> Az első sikeres meetup után egyből két új eseményt köszönthetünk! – A témák bár szűkebbek, de annál mélyebbnek ígérkeznek. Az egyik az adatbányászattal foglalkozik, mint válasz a felhalmozódott, minden eddigi mennyiséget meghaladó dokumentumáradatra, míg a másik, az R programozási nyelv és annak tm csomagját bemutató tutorial lesz. – Várunk minden érdeklődőt!

Az első meetup sikerén felbuzdulva újabb szervezésbe kezdtünk. Zolinak hála két új eseményt is hirdethetünk. A két esemény bár összefüggő, de külön-külön is nyugodtan látogatható. Kinek-kinek melyik nyeri el jobban a tetszését. – De ezúttal az előadások angol nyelven folynak.

Az R programozási nyelv és a tm csomagja

R tm hands-on tutorial by Ingo Feinerer névre keresztelt összejövetel nem hagyományos esemény. Ingo Feinerer nevével fémjelzett tutorial az érdeklődőket egy alap, ismétlő R tutorial után egyből az R programozási nyelv és a Text Mining ™ csomag mélyébe láthatunk be az egyik szerzője, Ingo Feinerer-re segítségével.

Az előadásról bővebben az esemény oldalán tájékozódhattok.

Distributed Text Mining in R

A második eseményen Ingo Feinerer előadását hallgathatjuk meg az elosztott szövegbányászati kutatásokról az R programozási nyelvben. Ennek lehetőségeiről, hátrányairól és hogyanjairól tudhatnak meg többet az érdeklődők.

Az előadásról bővebben az esemény oldalán tájékozódhattok.

Összegzés

Az eseményekre várunk mindenkit, aki a téma iránt érdeklődik vagy aktívan tevékenykedik benne. Az események Július 24-én, délelőtt 10-től és délután 7-től kezdődnek a Colabs házban. Kérjük, előzetesen iratkozzatok fel a meetup oldalon, hogy tudjuk, hogy hány fővel számolhatunk.

Via: Adatbányászat és R tutorial meetup

]]>
/2012/05/25/adatbanyaszat-es-r-tutorial-meetup/feed/ 714
R idősebbeknek és halandóknak /2012/04/26/r-idosebbeknek-es-halandoknak/ /2012/04/26/r-idosebbeknek-es-halandoknak/#comments Thu, 26 Apr 2012 02:00:00 +0000 /?p=202 Continue reading ]]> Sokan írtak nekünk mostanában hogy elveszve érzik magukat az R nyelv elsajátítása során. Sajnos hiány van a kezdők számára íródott és a könyvek/tutorialok és a “magasabb” szintű irodalom között. Ezen a legtöbben úgy lépnek túl hogy mire túljutnak a bevezető műveken már szert tesznek pár ismerősre, bekapcsolódnak a nyelv köré szerveződött közösség életébe és másoktól sajátítja el a szükséges ismereteket. Hazánkban sajnos ez nem megy olyan könnyen, ezért most pár tippet adunk arra miként induljon el a kedves olvasó.

Hogy mi merre miért, azt a R, de miért is használjam I. és II. posztokban már elmondtuk. Tegyük fel hogy Valószínűség, statisztika és nyelvben felsorolt művek közül valamelyiken, vagy hasonló mélységű anyagokon már sikeresen végigment az olvasó. A nagy kérdés az hogyan is néz ki a worflow, hogyan dolgozunk akkor az R-rel. Mielőtt a lényegre térek, egy kis filozófiai eszmefuttatás következik amit nyugodtan kihagyhatsz.
Bo Cowgill sokat idézett mondása összegzi legjobban az R-t: “The best thing about R is that it was developed by statisticians. The worst thing about R is that… it was developed by statisticians.” Mindenki fel tudja mondani a leckét, bizony nagy cégek is, mint pl. Google, Facebook stb. is használják az R-t, tehát komolyan kell venni. Ez igaz, de sokkal fontosabb kérdés hogy hogyan és mire használják. Mint számítógépes statisztikai nyelv bizonyos dolgokra van kihegyezve; spéci adatkezelés (pl. a vektor mint fő adatstruktúra), numerikus módszerek (igaz gyakran C/FORTRAN könyvtárakat wrapper-rel), grafika (vagy plotting). A statisztikai elemzésnek eszköze a programozási nyelv, a lényege annyi hogy a táblázatkezelőkkel vagy pl. az SPSS-sel ellenben sokkal rugalmasabb, jobban alakítható a problémához, gyorsabban frissül és a közösségnek köszönhetően remek támogatást is kapunk hozzá (ha jól tudunk kérdezni). A használati mód eredménye viszont hogy a munka “végterméke” gyakran ún. spagetti kód (Spaghetti code), ami annyit tesz hogy sokkal inkább ad hoc módon összedobott, egy-egy egyedi problémára koncentráló, nem optimalizált barkács mű. Szerintem ez nem baj, de ha komolyan akarjuk venni magunkat túl kell ezen lépnünk.
A kutatás, akár alkalmazott, akár elméleti, egyik lényeges eleme hogy megismételhető legyen. Habár gyakran egy egyedi problémát oldunk meg (pl. egyszerű regresszióval megtippelünk egy jövőbeli értéket), a tudományos vizsgálódás általános törvényszerűségeket, tendenciákat igyekszik felfedni és magyarázni. A kísérletek és mérések eredményei mögé szeretne látni a kutató, s mindezt szeretné kommunikálni (a nagyvilágnak, egy nagy impaktfaktorú periodikában, vagy a főnökei felé). Első körben az a legegyszerűbb ha ezekre koncentrálunk.
Workflow
  • ProjectTemplate – ez a kis könyvtár segít struktúrát adni adatelemzés projektjeidnek. Egy jó kutatás jól szervezett! Egy bevezető kurzuson, vagy egy intro könyvet feldolgozva még elmegy hogy egy könyvtárban legyenek az adataid és a kódod, de egy komoly elemzéshez ez már nem jó út. A ProjectTemplate leveszi a válladról annak terhét hogy magad tervezd meg a projekted könyvtárszerkezetét.
  • git és github – a verziókövetés is a projekt része, meg kell tanulni az alapokat. Persze ez csak mégy egy játékos amivel bonyolítod az életed, de érdemes rászánni az időt. A github akkor jön jól igazán ha másokkal dolgozol együtt egy feladaton.
  • Adatgondozás – külön feladat, de ahogy egyre komolyabb dolgokkal foglalkozz úgy válik egyre fontosabbá hogy jók legyenek az adataid és jól legyenek tárolva/feldolgozva. A blogon nem rég ajánlottuk a Natural Language Annotation for Machine Learning könyvet, más pedig tudtommal nincs a témában
Adatok
Igen, ha még nem volt elég, most még külön pontot is kap. Meg kell tanulnod hogyan tudsz dolgozni az adatokkal. Itt sincs sok lehetőség, Phil Spector Data Manipulation with R könyve igazítja el az érdeklődő gyerekeket. Van ezer meg egy tutorial, de azt kezdő nem nagyon értheti sajnos.
Prezentálás
  • Sweave – Ugye ismered a LaTeX-et? Ha nem, Dávid írásai itt és itt eligazítanak téged. A Sweave segít abban hogy a kódod és a készülő írásod (no meg prezentációd) “együtt legyen”, a kódrészletek és ábrák szépen jelenjenek meg a szövegben stb. stb. Ezt tényleg nem olvasni, hanem csinálni kell.
  • ggplot2 – Meg kell valahogy jeleníteni az adatainkat, erre tök jók az alap plot függvények, de lássuk be esztétikailag kihívásokkal küszködnek és nem elég flexibilisek. A ggplot2 segítségével szép és jó grafikonokat, ábrákat készíthetünűk. A ggplot2 a The Grammar of Graphics könyvön alapul, de először inkább talán érdemes a ggplot2: Elegant Graphics for Data Analysis-t elolvasni.
Programozás
  • SciViews – remek test framework-öt alkottak az R-hez
  • RUnit – kicsi, egyszerű unit test framework. Nekem különös kedvencem, mivel egy dologra koncentrál és azt el is végzi. Egy kis guglizással jó tutorialokat lehet találni. Maga a tesztelés nem áll távol a tudományos tevékenységtől, a filozófiailag járatosabb olvasóknak kvázi alkalmazott popperiánus falszifikációként jellemezhetem a folyamatot.
  • Software for data Analysis: Programming with R – sajnos nagyon kevés könyv teszi rendben az alapokat az R körül. Hogy lehet hogy az R funkcionális de, vannak benne objektumok, imperatív stílusú iteratív kontroll, S3/S4 object system és egyéb nyalánkságok. Ezek előbb vagy utóbb releváns kérdésekké válnak az R-t tanulók számára, ez a kötet képes egyedül kielégítően megválaszolni ezeket.

Az említett könyvek megvásárolhatóak a Számítógépes nyelvészet könyvespolcon.

Via: R idősebbeknek és halandóknak

]]>
/2012/04/26/r-idosebbeknek-es-halandoknak/feed/ 597
Az adatok tudománya és a nyelvtudomány – olvasnivaló /2010/09/04/az-adatok-tudomanya-es-a-nyelvtudomany-olvasnivalo/ /2010/09/04/az-adatok-tudomanya-es-a-nyelvtudomany-olvasnivalo/#comments Sat, 04 Sep 2010 16:56:00 +0000 /?p=214 Continue reading ]]> Sokan kérdezték az előző poszt kapcsán hogy hogyan is indulhatnak el “data science” ügyben. Itt egy kis összefoglaló következik, mit érdemes olvasni, merre érdemes keresgetni, és egy kicsit ajánlani fogom korábbi posztjaimat is. Tehát most sorra vesszük hogy egy nyelvész mit tehet hogy 1) betekintést nyerhessen az adatok tudományába 2) eszköztárába illeszthesse a nyelvi adatok elemzésére alkalmas módszereket.

Az alapok
A matekundort el kell felejteni! Az adatok tudományának részét képezi az alkalmazott statisztika, ezért biztos matematikai alapokkal kell rendelkeznie annak aki a területre merészkedik. Mivel a nyelvészek általában diszkrét matematikával ismerkednek, egy abszolút kezdőnek érdemes először alaposan átvenni az alapokat, amiben remélem segítenek korábbi posztjaim.

Ha már van egy kis alapunk, akkor jöhet a statisztika. Erről is írtam már párszor, érdemes átnézni ezek is:

Nem árt ha megtanulsz programozni:

Egy kis vizualizációt is magadra kell szedned, például a Processing segítségével, amiről itt olvashatsz:

Érdemes megismerkedned a ManyEyes használatával is:

És nem árt a statisztikát összekötni a kódolással és a vizualizációval, szóval az R megkerülhetetlen.

Ha a nyelvészettel is meg kell ismerkedned, akkor érdemes itt kezdened, de valószínű hogy te ezt már tudod. Az adatok tudománya adatok nélkül egész hülyén nézne ki, érdemes elsajátítani hogyan gyűjthetünk adatokat, miképp kezeljük azokat és mit csinálhatunk velük:

MapReduce
A legelterjedtebb MapReduce implementáció a Hadoop

Ehhez kapcsolódik, szöveggel foglalkozó nyelvészek számára kötelezően:

Habár nagyon jó dolog a Hadoop, szerintem kezdőknek nehéz. Habár ez csak a saját véleményem, szerintem sokkal egyszerűbb CouchDB-vel kezdeni (vagy éppen MongoDB-ve is lehet kezdeni). Ha megismerkednél vele, a legjobb pont itt van:

Vizualizáció
Sajnos nincs sok információ arról miként is prezentálhatjuk a nyelvészeti analízis során szerzett adatokat. Itt csak ajánlok egy könyvet, a Beautiful Visualization kötet sok érdekes tanulmányt tartalmaz (a legrelevánsabba wordle bemutatása számunkra). A Processing mellett érdemes még megismerkedni a Protovis JavaScript framework-kel is.

Sajnos nem tudok ajánlani egy konkrét forrást, magam is lassan szedegettem össze apránként az infót. A következő posztban megpróbálom bemutatni mire jutottam, addig is jó olvasgatást!

Via: Az adatok tudománya és a nyelvtudomány – olvasnivaló

]]>
/2010/09/04/az-adatok-tudomanya-es-a-nyelvtudomany-olvasnivalo/feed/ 570
R, de miért is használjam? – II. /2010/07/29/r-de-miert-is-hasznaljam-ii/ /2010/07/29/r-de-miert-is-hasznaljam-ii/#comments Thu, 29 Jul 2010 08:00:00 +0000 /?p=216 Continue reading ]]> Az előző részben megvizsgáltuk milyen is elvileg egy ideális nyelv egy számítógépes nyelvész számára. Most sorra vesszük hogy ennek mennyiben felel meg az R statisztikai programozási nyelv.

Vegyük végig a pontokat
1. A listák beépített támogatása
Igen, sőt!
2. Automatikus tárhelyvezérlés
Ezen sem lepődünk meg, hiszen manapság már egy cool nyelvnek ezt alapból tudnia kell
3. dinamikus típuskezelés (de mondhatnám hogy dinamikus gépelés)
Ezzel sem kell sokat törődnöd, nincs String name = “Zoli”, nem fogsz egy Integert byte-ba tenni és elvérezni.
4. első-osztályú függvények
Elég itt idézni az R Language Definition idevágó részét: “In R functions are objects and can be manipulated in much the same way as any other object. Functions (or more precisely, function closures) ” azaz első osztályú függvények a nyelv alapjai.
5. egységes szintaxis
Nagyon kevés nyelv van amelyiknek nem egységes a szintaxisa és az R nem tartozik közéjük.
6. interaktív környezet
A CommonLISP, Scheme és Python által megkezdett hagyományhoz hűen az R is rendelkezik egy szép interaktív környezettel. Itt talán még intenzívebben használják ezt.
7. Bővíthetőség
A Comprehensive R Archive Network szinte minden feladathoz kínál csomagot. Könnyen lehet egy új csomagot installálni és szabadon módosíthatod ha kell cuccot igényeid szerint. (A nyílt forráskód előnye :D)
8. Történeti háttér és kultúra
Erről külön is szólni fogunk!
9. Statisztikai függvények támogatása
Egy statisztikai programozási nyelv alapból támogatja ezeket, ugye ez nem lepett meg. Ajánlom figyelmedbe a Language Definition dokumentumot.
10. Speciális adatstruktúrák natív támogatása
Ha probabilisztikus megközelítésre adjuk fejünket szükségünk lesz a listákon kívül vektorokra, mátrixokra és egyéb félelmetes nevű dolgokra. Ha érdekel mi mindent támogat az R itt egy jó oldal.

Egy kis történeti háttér

Az R nyelv az S nyelven alapul amit John Chambers 1975-ben a Bell Labs keretein belül fejlesztette ki. Az informatika területén 35 évesnek lenni matuzsálemi kornak számít, viszont egy stabil és igen hozzáértő kör alakult ki a felhasználókból ez idő alatt. Az R 1993-ban tűnt fel, és létezik még egy S-Plus nevű testvére, amely kereskedelmi szoftver.

Aucklandi atyákat az eredeti S nyelv mellett a Scheme egyszerűsége inspirálta, aminek én mint Scheme rajongó nagyon örülök. A nyelv hamarosan nagyon népszerű lett a statisztikusok körében, így a nyelv egymást követő verziói általában nagyon stabilak.

A kilencvenes évek végén elkezdődött az adatok forradalma. Egyrészt az informatika világa egyre több adatot produkál, (talán ennek hatására) másrészt a humán és társadalom tudományok is egyre jobban a kísérleti és begyűjthető adatok felé fordultak. Egyre többen kezdték el használni különböző statisztikai programcsomagokat ismerték fel azok korlátait is. Az R felhasználói tábora valamikor az ezredforduló körül hirtelen megugrott és azóta is folyamatosan bővül.

Ez a történet csak tovább erősíti a nyelvet. A kemény mag továbbra is szinte változatlan és egyre jobb rendszert fejleszt. A speciális területek művelői egyre több csomagot írnak és publikálna. Az így létrejött nyilvánosság az esetleges hibák felfedezését meggyorsította, a fejlesztők közötti együttműködést elősegítette és még jobb csomagokat eredményezett. Az online fellelhető dokumentáció igen magas színvonalú, habár nagyon technikai jellegű. Úgy tűnik hogy még várnunk kell hogy a “kocka” fejlesztői mag észrevegye ezt és lépjen az érthetőség irányába.

A hosszú történet azzal is jár hogy sok jó könyvet találhatsz (habár ezek általában drágák) és rengeteg publikációt olvashatsz. Könnyű kommunikálni eredményeidet és nem kell sokat magyarázkodnod közben.

Hátrányok

  1. Az R nem egy egyszerű nyelv
  2. aki nem ismeri a lisp dialektusokat annak az R szintaxisa nagyon idegen lehet
  3. nehéz egyszerre statisztikát és R programozást tanulni

Hogyan tovább?
Ha szeretnél még többet megtudni a nyelvről, esetleg kipróbálnád és tanulnád érdemes elolvasnod Valószínűség, statisztika és nyelv című korábbi posztomat, ami segít eligazodni hogy hol érdemes kezdeni.

Via: R, de miért is használjam? – II.

]]>
/2010/07/29/r-de-miert-is-hasznaljam-ii/feed/ 572