R | ||
Data della prima versione | 1993 | |
---|---|---|
Paradigmi | Programmazione multi-paradigma: orientata agli oggetti , imperativa , funzionale , procedurale , riflessiva | |
Autore | Ross Ihaka e Robert Gentleman | |
Sviluppatori | R Core Team | |
Ultima versione | 4.1.0 (18 maggio 2021) | |
Digitando | dinamico | |
Influenzato da | S , Scheme , Common Lisp , xLispStat | |
influenzato | Giulia | |
Scritto in | C , Fortran e R | |
Sistema operativo | Multipiattaforma | |
Licenze | GNU GPLv2 | |
Sito web | www.r-project.org | |
Estensioni dei file | .r, .R, .RDATA, .rds, .rda, .Rpres, .Rmd, .fst | |
R è un linguaggio di programmazione e un software open source per la statistica e la scienza dei dati supportati dalla R Foundation for Statistical Computing . Fa parte dell'elenco dei pacchetti GNU ed è scritto in C (lingua) , Fortran e R.
GNU R è un software gratuito distribuito secondo i termini della licenza GNU GPL e disponibile sotto GNU/Linux , FreeBSD , NetBSD , OpenBSD , MacOS X e Microsoft Windows .
Il linguaggio R è ampiamente utilizzato da statistici , data miner , data scientist per lo sviluppo di software statistici e l'analisi dei dati .
Nel settembre 2020R è classificato 9 ° nella indice TIOBE che misura la popolarità dei linguaggi di programmazione.
R è un'implementazione del linguaggio di programmazione S con l'aggiunta di scope lessicale , ispirato allo Scheme , e garbage collection (informatica) .
Il linguaggio S è stato sviluppato da John Chambers e dai suoi colleghi dei Bell Laboratories .
Il progetto R è iniziato nel 1993 come progetto di ricerca di Ross Ihaka e Robert Gentleman presso l' Università di Auckland ( Nuova Zelanda ).
Dal 1997, una ventina di sviluppatori hanno formato il team di sviluppo R ( R Development Core team ). I membri di questo team hanno i diritti di scrittura sul codice sorgente. Il23 aprile 1997inizia il Comprehensive R Archive Network (CRAN) quindi il5 dicembre 1997, R è integrato nel Progetto GNU .
La versione R 1.0.0, la prima versione ufficiale del linguaggio R, è stata rilasciata il 29 febbraio 2000.
Nel 2003, il team di sviluppo ha creato la R Foundation for Statistical Computing per supportare il progetto R e diventare un punto di riferimento per coloro che vogliono entrare in contatto con la comunità R. Attualmente il linguaggio conta più di 200 librerie. la comunità scientifica che utilizza R.
La versione 2.0 è stata rilasciata il 4 ottobre 2004 e la versione 3.0 la 3 aprile 2013.
Nel 2015, diversi importanti attori economici come IBM, Microsoft o la società RStudio hanno creato il Consorzio R per supportare la comunità R e finanziare progetti attorno a questa lingua.
La distribuzione più nota del linguaggio R è quella del Progetto R e del Comprehensive R Archive Network (CRAN). Ci sono altre distribuzioni come ad esempio la distribuzione offerto da Microsoft o quello della Oracle società , Oracle R Distribution.
L'implementazione più nota del linguaggio R è il software GNU R reso disponibile dal progetto R.
Esistono progetti sperimentali come il progetto Rho finalizzato allo sviluppo di versioni più veloci del linguaggio R.
RStudio è un ambiente di sviluppo integrato che consente di lavorare in R, sviluppare nuove librerie e lavorare con i notebook .
R esiste anche su Emacs (Emacs Speaks Statistics).
Jupyter è un'applicazione web per lo sviluppo di notebook in Python , Julia o R.
Le funzionalità di R sono accessibili da altri linguaggi come Python , Perl , Ruby , Julia .
Il linguaggio R è stato integrato in alcuni RDBMS come SQL Server dalla versione 2016.
R ha un gran numero di librerie sviluppate da una comunità di contributori. Ad esempio, il sito RDocumentation.org elenca più di 15.000 biblioteche sul Comprehensive R Archive Network (CRAN), GitHub e Bioconductor (in) inmaggio 2018.
Il solo progetto Bioconductor comprende più di 1.000 librerie che consentono ai ricercatori di biostatistica di analizzare e decifrare il genoma .
Un sondaggio condotto nel 2013 da Rexer Analytics con 1.300 analisti mostra che R è il software più utilizzato quando si tratta di lavorare in aziende, università, enti pubblici o ONG e analisti che lavorano come consulenti.
Su Twitter , la community si raccoglie attorno all'hashtag rstats.
Su Stack Overflow , c'è una grande comunità attorno al tag R. C'è anche una grande blogosfera attorno all'aggregatore R-Bloggers.
RStudio ha lanciato il suo sito di domande e risposte su R.
Vengono organizzati regolarmente incontri tra utenti, in particolare all'interno di gruppi Meetup o R-Ladies che promuovono la diversità di genere nella comunità degli utenti linguistici.
L'incontro ufficiale degli utenti R si svolge ogni anno e si chiama "user". La prima edizione si è svolta a Vienna (Austria) . Tradizionalmente alternato tra Europa e America ogni anno, si tiene per la prima volta in Australia nel 2018.
Da allora si sono svolte o si svolgeranno diverse conferenze:
The R Journal è una rivista ad accesso aperto dedicata a R. Contiene articoli di breve e media dimensione sull'uso e lo sviluppo di R, incluse librerie, suggerimenti di programmazione, notizie da CRAN e notizie dalla fondazione R..
R è un linguaggio interpretato in cui gli utenti utilizzano un'interfaccia a riga di comando . R consente la programmazione procedurale e con alcune funzioni la programmazione orientata agli oggetti . Le tabelle (struttura dati) sono disposte in ordine di colonna (in) .
La pagina R Task Views del Comprehensive R Archive Network dà un'idea della gamma di funzionalità e usi del linguaggio R.
Le seguenti librerie fanno parte di una raccolta di librerie tidyverse sviluppate da Hadley Wickham e RStudio :
Data.table è un'alternativa che fornisce una versione ad alte prestazioni di data.frame con miglioramenti sintattici e funzionalità per facilità d'uso, praticità e velocità di programmazione.
Stringr e Tidytext appartengono a Tidyverse e migliorano la gestione delle stringhe. C'è anche Stringi.
Lubridate è di proprietà di Tidyverse e migliora la gestione di data e ora. C'è anche la libreria Xts, o anche Zoo per serie temporali irregolari.
Ggplot2 appartiene a Tidyverse e definisce una grammatica grafica che consente di combinare diversi livelli grafici. La libreria Scales consente di gestire la formattazione (etichette, scala, ecc.) di un grafico.
La libreria Rmarkdown consente di combinare sezioni di testo formattate in markdown e sezioni di codice in R per produrre report in formato Microsoft Word o PDF , presentazioni in formato Beamer o HTML5 ( slidy.js o reveal.js ), pagine web, interi siti web , blog o addirittura interi libri.
Il linguaggio Sweave consente di combinare sezioni di codice in LaTeX e sezioni di codice in linguaggio R per produrre pubblicazioni scientifiche direttamente da R.
La libreria Shiny sviluppata dalla società RStudio permette di creare applicazioni web interattive in linguaggio R.
La libreria Plotly permette di trasformare la grafica realizzata con la libreria Ggplot2 in una versione web/interattiva tramite plotly.js.
La libreria DT fornisce un'interfaccia con la libreria javascript DataTables .
La libreria Leaflet viene utilizzata per rappresentare i dati geografici su mappe interattive utilizzando la libreria JavaScript Leaflet .
Rcpp consente l'integrazione tra R e C++.
Le librerie Microbenchmark o Rbenchmark vengono utilizzate per valutare le prestazioni.
La libreria Devtools esiste per gli sviluppatori di librerie. In particolare, permette di caricare le librerie ospitate sotto GitHub.
La libreria Reticulate fornisce un'interfaccia tra R e Python.
L' incarico si fa con <-o =ma si preferisce il primo.
> 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