Legjobb válasz
Az állapotról az R-re váltottam. Íme a megfigyeléseim:
Előnyök:
- R nyílt forráskódú lesz, hozzáférhet néhány nagyon jó véres algoritmushoz vagy szoftverhez, amelyet az emberek a hiánypótló problémákra írtak.
- Az R-nek jobb a vizualizációja. Ha már jól kezeli a ggplot2-t, akkor elképesztő dolgok szinte bármilyen adattípussal.
- R-t könnyebben megtaláltam egyedi csomagok és függvények megírásához.
- R közelebb áll a statisztikákhoz / gépi tanulási közösséghez, így több támogatást / csomagot talál, mint statisztikát.
- Szeretem az RStudio Gui-t, különösen akkor, ha szerveren dolgozom.
- R jobb Latex támogatást nyújt.
- R nagyon aktív közösséggel és segélylistákkal rendelkezik – elképesztően gyorsan támogatták minden kérdésemet.
- Az R a Big Data-val működik! Az RHadoop csomag egyedi MapReduce szkripteket írhat R függvények használatával. Ha valaha is nagy adatokkal kell foglalkoznia, és csak a szkennelt Stata-t tudja használni.
- Sokkal több “hack” van. az R-ben olyan bonyolult problémákra, mint a hálózati elemzés, az egyedi indítópultok stb. Amint elrugaszkodik a vanília megvalósításoktól, gyakran találtam parancsikonfüggvényeket az R eljárásaiban, míg a Statában gyakran meg kell kódolni a kiutat.
Hátrányok:
- Az R nyílt forráskódú, lehet, hogy egy ideig várnia kell az új algoritmusok eléréséhez, ha nincs aktív fejlesztés.
- A Stata sokkal közelebb áll az ökonometriai közösséghez, és sokkal több algoritmussal, csomaggal és megvalósítással rendelkezik, mint R. Ha közgazdász vagy, frusztrálni fog az ökonometriai csomagok átfogó jellegének hiánya.
- A Stata nagyszerű GUI-val rendelkezik, amely lehetővé teszi, hogy interaktívan válassza ki a futtatni kívánt eljárást, és kitöltse az Ön számára a legtöbb részletet. Ez nagyszerű, ha olyan funkciót használ, amelyet még soha nem használt. R-nek valójában nincs ilyen – úgy érzem, hogy amikor az RI-t használom, akkor a Google a felem alatt dolgozik.
- Az adatok gyorsabbak, mint az R [1]. sokkal egyszerűbb folyamat: A CRAN-ban lévő R modulok esetében általában nincs probléma (bár bajokba ütköztem, amikor Centos gépet használtam), de számos alapvető csomag létezik, amelyek nincsenek a CRAN-on.
- A Stata szokásos megjelenítése és ábrázolása sokkal jobb, mint az R.
- A Stata jobb szabványos segítséggel rendelkezik – úgy érzem, el tudom olvasni bármely funkció súgóját, és pontosan kitalálom, mit meg kell tennem, míg én nem érzem ezt sok olyan R csomag esetében, amelyek rosszul vannak dokumentálva.
- R “WTF” szintaxissal és csomagnév-felépítéssel rendelkezik. A legtöbb nyílt forrásból származó projekt igen. Hiányzik az állapotfunkciók egyszerűsége (reg, lm stb.).
[1] http://ekonometrics.blogspot.com/2011/04/speeding-tickets-for-r-and-stata.html
Válasz
Általában, amikor megtalálom a határozószót ” nyilván “egy mondatban találok néhány indokolatlan állítást. Itt nem értek egyet azzal az állításoddal, miszerint R “furcsa szintaxissal rendelkezik”. Minden képzett programozó szívesebben kódolna Haskellben vagy valamilyen Lisp-ben, de tény, hogy ezek a nyelvek soha nem fogják elérni a nagy közönséget. R belülről Lisp (például kódolhatod a nyelvet R-ben, de Pythonban nem), de elég közel van egy kívüli tudományos nyelvhez. Valójában, amint megjegyzi, a mint adatelemzési nyelv , az R valóban a legtermészetesebb és legelegánsabb nyelv. Ha bizonyítékot akarsz kapni erről, nézd meg a Python és Júlia körüli tevékenységet: adatkeretek (pandák és data.frame Jlia-ban), képletek (patsy), plyr (pandák) megvalósítása. És még mindig úgy tűnik, hogy ezek a tulajdonságok kissé oltottak a többi nyelvre. Amit az emberek “furcsának” vagy “nyűgösnek” érzékelnek, az vagy az interaktív használat (például a dimenzió csökkenése) engedménye, vagy a nyelv funkcionális örökségének eredménye.
Egyetértek azzal, hogy R rengeteg fejlesztendő területek, de főleg nem a nyelv szintaxisában. Bizony, a névadási szokásai következetlenek; a sebesség és a memória kezelése ismert kérdés; stb. Miert van az? Néhány ok:
- R elsődleges irányelve (az alkotója, John Chambers szerint) megbízható szoftvereket állít elő. R nagy értéket tulajdonít a pontosságnak és a megbízhatóságnak. Fő statisztikai funkciói csúcsminőségűek; még az alapgrafikai rendszerét is gondosan átgondolták, a hisztogram-beolvasástól (nem triviális probléma!) a szövegelhelyezésig. A sebesség még soha nem okozott nagy gondot, és joggal. Ha a sebesség és a memória hatékonysága lenne a probléma, akkor mindannyian a FORTRAN-ban kódolunk, ami szintén egyszerű és magas szintű. Az R bázis forráskódja rövid (400K LOC; összehasonlításképpen: egyedül a Numpy mérete azonos) , és nagyon olvasható. Érthető és megbízható kód.
- A Splus és az R a 80-as és 90-es években fogant meg, jóval a “big data” kora és a gépi tanulás térnyerése előtt. De az R javult . A memóriakezelés sokkal jobb, valószínűleg felülmúlja a MATLAB-okat. Van még tennivaló, de bizonyos dolgok javíthatók (pl. Belső adatábrázolás).
- Az alap fejlesztői csapat forgalma minimális, és a 15 évvel ezelőtti fiatal kódolók 50 évesek. Ezenkívül sokkal kevésbé vesznek részt a közösségben, és olyan piktoreszkés / mitikus karaktert alkotnak, mint Brian Ripley: egy oxfordi professzor, aki + 70\% -áért felelős, és nem a bolygó legbarátságosabb embere és az R levelezőlistákon.
- R egy gyors JIT-fordítóért könyörög, amely az LLVM-et célozza meg, de ezek a dolgok nem történnek egyik napról a másikra. Szüksége van egy kiemelkedő és képzett kódolók csapatára, akik fordítói és tolmácstervezési ismeretekkel, erős munkamorállal (egy termék pár éven belüli kiszorításával) és alázatossággal rendelkeznek a meglévő nyelv újbóli megvalósítására ahelyett, hogy saját hiú projektjüket létrehoznák. Lásd még a 3. számú részt.