R (nyelv)

R
Logó.
Az első változat kelte 1993
Paradigmák Multi-paradigma programozás: objektum-orientált , imperatív , funkcionális , eljárási , reflektív
Szerző Ross Ihaka és Robert Gentleman
Fejlesztők R Core Team
Utolsó verzió 4.1.0 ( 2021. május 18)
Gépelés dinamikus
Befolyásolta S , Scheme , Common Lisp , xLispStat
Befolyásolt Julia
Beírva C , Fortran és R
Operációs rendszer Cross-platform
Engedélyek GNU GPLv2
Weboldal www.r-project.org
Fájlkiterjesztések .r, .R, .RDATA, .rds, .rda, .Rpres, .Rmd, .fst

Az R egy statisztikai és adattudományi programozási nyelv és nyílt forráskódú szoftver , amelyet az R Foundation for Statistics Computing támogat . Ez a GNU csomaglistának része, és C (nyelv) , Fortran és R nyelven íródott .

A GNU R ingyenes szoftver, amelyet a GNU GPL licenc feltételei szerint terjesztenek, és elérhető a GNU / Linux , FreeBSD , NetBSD , OpenBSD , MacOS X és Microsoft Windows alatt .

R nyelvet széles körben használják a statisztikusok , adatok bányászok , adatok tudósok statisztikai szoftver fejlesztés és az adatok elemzése .

Ban ben 2020 szeptemberR van rangsorolva 9 -én a TIOBE index , hogy az intézkedések a népszerűsége programozási nyelvek.

Történelem

Az R az S programozási nyelv implementációja, a lexikális hatókör hozzáadásával , amelyet a rendszer ihletett , és a szemétszállítás (számítástechnika) .

Az S nyelvet John Chambers és munkatársai fejlesztették ki a Bell Laboratories-ban .

Az R projekt 1993-ban kezdődött, mint egy kutatási projekt által Ross Ihaka és Robert Gentleman a University of Auckland ( Új-Zéland ).

1997 óta mintegy húsz fejlesztő alkotta az R fejlesztői csapatot ( R Development Core team ). Ennek a csapatnak a tagjai írási joggal rendelkeznek a forráskódhoz. A 1997. április 23megkezdi az Átfogó R Archív Hálózatot (CRAN), majd a 1997. december 5, R integrálva van a GNU Projektbe .

R verzió 1.0.0, az R nyelv első hivatalos verziója, megjelent 2000. február 29.

2003-ban a fejlesztői csoport létrehozta az R Alapot a Statisztikai Számítástechnikához, hogy támogassa az R projektet, és referenciaponttá váljon azok számára, akik kapcsolatba akarnak lépni az R közösséggel. Jelenleg a nyelv több mint 200 könyvtárral rendelkezik. az R.-t használó tudományos közösség

A 2.0 verzió kiadása 2004. október 4 és a 3.0 verzió a 2013. április 3.

2015-ben számos fontos gazdasági szereplő, például az IBM, a Microsoft vagy az RStudio vállalat létrehozta az R Konzorciumot, hogy támogassa az R közösséget és finanszírozza az ezen a nyelven zajló projekteket.

Terjesztések

Az R nyelv legismertebb terjesztése az R Projekt és az Átfogó R Archív Hálózat (CRAN) terjesztése. Vannak más disztribúciók is, például a Microsoft vagy az Oracle vállalat által kínált disztribúció , az Oracle R Distribution.

Végrehajtások

Az R nyelv legismertebb megvalósítása az R Projekt által elérhetővé tett GNU R szoftver.

Vannak olyan kísérleti projektek, mint a Rho projekt, amelynek célja az R nyelv gyorsabb verzióinak fejlesztése.

Interfészek

Az RStudio egy integrált fejlesztői környezet, amely lehetővé teszi az R-ben való munkát, az új könyvtárak fejlesztését és a noteszgépekkel való munkát .

R is létezik az Emacs- on (az Emacs statisztikákat használ).

Jupyter egy webes alkalmazás fejlesztése notebook a Python , Julia vagy R.

Az R funkcionalitása más nyelvekről érhető el, mint a Python , Perl , Ruby , Julia .

Az R nyelv a 2016-os verzió óta integrálva van néhány RDBMS-be, például az SQL Serverbe .

Közösség

Közreműködő közösség

R-ben nagyon sok könyvtár található, amelyeket a közreműködők közössége fejlesztett ki. Például a helyszínen RDocumentation.org listák több mint 15.000 könyvtárak a Comprehensive R Archive Network (CRAN), GitHub és Bioconductor  (in) a2018. május.

Csak a Bioconductor projekt több mint 1000 könyvtárból áll, amelyek lehetővé teszik a biostatisztikai kutatók számára a genom elemzését és megfejtését .

Felhasználói közösség

A Rexer Analytics által 1300 elemzővel 2013-ban végzett felmérés azt mutatja, hogy az R az a szoftver, amelyet leggyakrabban használnak, amikor vállalatokban, tudományos körökben, állami szervekben vagy civil szervezetekben és tanácsadóként dolgozó elemzőkben dolgoznak.

A Twitteren a közösség összegyűlik az rstats hashtag körül.

A Stack Overflow esetén az R tag körül nagy közösség van , az R-Bloggers aggregátor körül pedig egy nagy blogoszféra is található .

Az RStudio R köré indította a kérdés-válasz webhelyet.

Rendszeresen szerveznek találkozókat a felhasználók között, különösen a Meetup vagy az R-Ladies csoportokon belül, amelyek elősegítik a nemek közötti sokféleséget a nyelvhasználók közösségében.

UseR Conference!

Az R felhasználók hivatalos találkozójára minden évben sor kerül, és a neve "useR". Az első kiadásra Bécsben (Ausztria) került sor . Hagyományosan évente váltakozva Európa és Amerika között, először Ausztráliában, 2018-ban rendezik meg.

Azóta több konferencia zajlott vagy kerül sor:

Az R Journal

Az R Journal egy R-nek szentelt nyílt hozzáférésű folyóirat. Rövid és közepes méretű cikkeket tartalmaz az R használatáról és fejlesztéséről, beleértve a könyvtárakat, programozási tippeket, a CRAN híreit és az R. alapítvány híreit.

Jellemzők

R egy értelmezett nyelv, ahol a felhasználók parancssori felületet használnak . Az R lehetővé teszi az eljárási programozást és egyes funkciókkal az objektum-orientált programozást . A táblák (adatstruktúra) oszlop-dúr sorrendben  (in) vannak rendezve .

Szoftverkönyvtárak

Az Átfogó R Archív Hálózat R Task Views oldala képet ad az R nyelv jellemzőinek és felhasználásának köréről.

Adatok olvasása és importálása

Adatok manipulálása és átalakítása

A következő könyvtárak a Hidley Wickham és az RStudio által kifejlesztett tidiverse könyvtárak gyűjteményének részei  :

A Data.table egy alternatíva, amely a data.frame nagy teljesítményű változatát biztosítja szintaktikai fejlesztésekkel és funkciókkal a könnyű használat, a kényelem és a programozás gyorsasága érdekében.

Szövegbányászat és szövegbányászat

A Stringr és a Tidytext a Tidyverse-hez tartozik, és javítja a húrok kezelését. Van Stringi is.

Idősorok

A Lubridate a Tidyverse tulajdonában van, és javítja a dátum és idő kezelését. Itt található az Xts könyvtár, vagy akár az Állatkert is a szabálytalan idősorok számára.

Adatok vizualizálása

A Ggplot2 a Tidyverse- hez tartozik, és meghatároz egy grafikai nyelvtant, amely lehetővé teszi a különböző grafikai rétegek kombinálását. A Mérleg könyvtár lehetővé teszi a diagram formázásának (címkék, méretarány stb.) Kezelését.

Reprodukálhatóság

A Rmarkdown könyvtár lehetővé teszi, hogy összekapcsolják a szöveg részeinek formázott árleszállítás és szakaszai kódot R jelentéseket a Microsoft Word vagy PDF formátumban, prezentációk kivetítő vagy HTML5 formátumban ( slidy.js vagy reveal.js ), weboldalakat, teljes weboldalak , blogok vagy akár egész könyvek.

A Sweave nyelv lehetővé teszi a LaTeX kódrészleteinek és az R nyelvű kódrészeinek kombinálását , hogy tudományos publikációkat készítsen közvetlenül R-től.

Interaktivitás

Az RStudio cég által kifejlesztett Shiny könyvtár lehetővé teszi interaktív webalkalmazások létrehozását R nyelven.

A Plotly könyvtár lehetővé teszi a Ggplot2 könyvtárral készített grafikák web / interaktív verzióvá alakítását a plotly.js-en keresztül.

A DT könyvtár interfészt biztosít a DataTables javascript könyvtárával .

Kártyák

A Leaflet könyvtár a földrajzi adatok ábrázolására szolgál interaktív térképeken a Leaflet JavaScript könyvtár segítségével .

RCpp és teljesítmény

Az Rcpp lehetővé teszi az R és a C ++ integrációját.

A teljesítmény értékeléséhez mikrobenchmark vagy Rbenchmark könyvtárakat használnak.

Egyéb

A Devtools könyvtár létezik könyvtárfejlesztők számára. Különösen lehetővé teszi a GitHub alatt tárolt könyvtárak betöltését.

A Reticulate könyvtár interfészt biztosít R és Python között.

Példák

Szintaxis

A hozzárendelés a <-vagy gombbal történik, =de az elsőt előnyben részesítjük.

> x <- c(1, 2, 3, 4, 5, 6) # Un vecteur ordonné > print(x) # Affiche le vecteur [1] 1 2 3 4 5 6 > x[1] # le premier élément [1] 1 > x[0] numeric(0)# Les indices commencent à 1 > x[1:3] # Les 3 premiers éléments [1] 1 2 3 > (y <- x^2) # Les valeurs de x au carré. Les deux parenthèses permettent d'afficher le résultat [1] 1 4 9 16 25 36

A függvény felépítése

nomdelafonction <- function(arg1, arg2, ... ){ # Déclaration du nom de la fonction et de ses arguments code return(object) } sommedescarres <- function(x){ # Exemple de fonction return(sum(x^2)) # Renvoie la somme des carrés des éléments de x }

Díjak és elismerés

  • 2015: Ezüstérem az adatmegjelenítési eszköz kategóriában az Information is Beautiful Awardson

Megjegyzések és hivatkozások

  1. Peter Dalgaard, „  R 4.1.0 kiadva  ” ,2021. május 18
  2. (in) "  licenc R projekt  " az r-ptoject.org oldalon ,2018. szeptember 19
  3. "  GNU szoftver  "
  4. (in) "  Linux R  "
  5. (en) "  R FreeBSD  "
  6. (en) "  R NetBSD  "
  7. (en) "  R Openbsd  "
  8. "  R for Mac OS X  " , a cran.r-project.org címen (hozzáférés : 2018. január 24. )
  9. “  Töltse le az R-3.4.3 fájlt Windows rendszerhez. A statisztikai számítás R projektje.  » , A cran.r-project.org webhelyen (megtekintve : 2018. január 24. )
  10. "  TIOBE Index | TIOBE - A szoftverminőség-társaság  ” , a www.tiobe.com oldalon (hozzáférés : 2020. szeptember 8. )
  11. (in) "  Az R nyelv kialakításának értékelése  "
  12. „  Több mint 16 éves R projekt-történet  ” , a Revolution Analytics Blogban ,2016. március 4(megtekintve 2017. február 18-án )
  13. Tippmann 2015
  14. "  Contributors  " , az R-project.org oldalon (elérhető : 2017. február 18. )
  15. "  R-1.0.0 kiadva  " , a hypatia.math.ethz.ch oldalon (elérve : 2018. május 16. )
  16. "  The R Foundation  " , az R-project.org oldalon (elérhető : 2017. február 18. )
  17. "  R 2.0.0 kiadva  " , a stat.ethz.ch oldalon (elérhető : 2018. március 15. )
  18. "  R 3.0.0 megjelent  " , a stat.ethz.ch oldalon (elérve : 2018. március 15. )
  19. https://www.r-consortium.org/about
  20. Microsoft R Open
  21. Oracle R terjesztés
  22. Oracle R Technologies
  23. (in) Hadley Wickham , "Teljesítmény" az Advanced R-ben ( online olvasható )
  24. https://github.com/rho-devel/rho
  25. „  RDocumentation  ” , a RDocumentation.org oldalon (hozzáférés : 2018. május 31. )
  26. (in) David Smith , "  R felhasználók számára:„számítani REXER 2013-as Data Miner Survey  " , Revolution Analytics blog ,2013. január 30( online olvasás ).
  27. https://twitter.com/hashtag/rstats?lang=en
  28. R címke a verem túlcsordulásakor, de a szülői statisztikai oldalon is, a Keresztellenőrzés alatt
  29. (in) "  rstudio közösség  "
  30. "  Meetups statisztikai számítás R-vel - Meetup  " , a www.meetup.com oldalon (hozzáférés : 2018. május 31. )
  31. (hu-USA) „  R-Ladies Global - R-Ladies egy világméretű szervezet a nemek közötti sokszínűség előmozdítására az R közösségben  ” , a rladies.org oldalon (hozzáférés : 2018. május 31. )
  32. (en) "  R konferenciák  "
  33. "  useR! 2004  ” , a www.ci.tuwien.ac.at webhelyen (hozzáférés : 2018. január 26. )
  34. (in) "  R: Konferenciák  " a www.r-project.org oldalon (hozzáférés: 2018. január 26. )
  35. (a) "  The R Journal  "
  36. https://cran.r-project.org/web/views/
  37. (en) "  Readr  "
  38. (in) "  xml2  "
  39. (in) "  Rjson  "
  40. (in) "  sparklyr  "
  41. (in) "  readxl  "
  42. https://haven.tidyverse.org/
  43. (in) "  dplyr  "
  44. (in) "  tidyr  "
  45. (in) "  purrr  "
  46. (in) "  Tibble  "
  47. (in) "  tidyverse / ragasztó  " a GitHub (elérhető március 15, 2018 )
  48. (in) "  elítéltek  "
  49. (in) "  data.table  "
  50. (in) "  stringr  "
  51. (in) "  stringi  "
  52. (a) "  lubridate  "
  53. (in) "  xts  "
  54. (in) "  Állatkert  "
  55. (in) "  Ggplot2  "
  56. (a) "  mérleg  "
  57. "  R Markdown  " az rmarkdown.rstudio.com címen (elérve : 2018. január 23. )
  58. (in) "  blogdown  "
  59. (in) "  könyvelés  "
  60. "  Shiny  " a shiny.rstudio.com címen (megtekintve : 2018. január 23. )
  61. (in) "  cselekményes  "
  62. (in) "  DT  "
  63. (in) "  betegtájékoztató  "
  64. (a) "  CAPS  " -ban
  65. (in) "  mikrobarka  "
  66. (in) "  Rbenchmark  "
  67. (in) "  devtools  "
  68. "  Interface to 'Python"  " , az rstudio.github.io címen (hozzáférés : 2018. május 31. )
  69. „  R kiterjesztések írása  ” a cran.r-project.org címen (hozzáférés : 2018. február 7. )
  70. "  R  " , az Information is Beautiful Awards-tól (hozzáférés : 2017. február 26. )

Bibliográfia

  • (en) Ross Ihaka és Robert Gentleman , „  R: Az adatok elemzésének és grafikájának nyelve  ” , Journal of Computational and Graphical Statistics , vol.  5,1996, P.  299-314 ( DOI  10.2307 / 1390807 , online olvasás )
  • (en) Ashley Vance , „  R hatalma által elragadott adatelemzők  ” , The New York Times ,2009. január 6( online olvasás )
  • (en) Tylmann Sylvia , „  Programozási eszközök: Kalandok R-vel  ” , Nature , vol.  517,2015. január, P.  109–110 ( DOI  10.1038 / 517109a )
  • (en) Hadley Wickham , Ggplot2: Elegáns grafika az adatok elemzéséhez , Springer, koll.  "Use R",2009
  • (en) Hadley Wickham , Advanced R , Chapman & Hall / CRC, koll.  "A R sorozat", 1 st  ed. ( online olvasás )
  • (en) Hadley Wickham , R csomagok: Szervezze, tesztelje, dokumentálja és ossza meg kódját , O'Reilly Media ,2015( online olvasás )
  • (en) Garrett Grolemund és Hadley Wickham , az Adattudomány R , O'Reilly,2016( online olvasás )
  • Millot Gaël , statisztikai tesztek megértése és végrehajtása R , Éditions De Boeck,2014 február, 806  p. ( online előadás )
  • Husson F, Pagès J és Lê S, Adatok elemzése R-vel, Presses Universitaires de Rennes
  • (en) Julia Silge és David Robinson , Text Mining with R: A Tidy Approach , O'Reilly,2017( online olvasás )

Lásd is

Kapcsolódó cikkek

Külső linkek