R (llenguatge de programació): diferència entre les revisions

De la Viquipèdia, l'enciclopèdia lliure
Contingut suprimit Contingut afegit
m Aplicant la plantilla {{ISBN}} per evitar l'enllaç màgic d'ISBN
mCap resum de modificació
Línia 13: Línia 13:
}}
}}


El '''llenguatge de programació R''', és un [[llenguatge de programació]] i un entorn de desenvolupament de programari per a l'obtenció de càlculs i gràfics [[estadística|estadístics]]. Fou creat originalment per [[Ross Ihaka]] i [[Robert Gentleman]] a la [[Universitat d'Auckland]], [[Nova Zelanda]], i actualment està desenvolupat per l{{'}}''Equip Central de Desenvolupament de R''. R és considerat pels seus creadors com una implementació de l'[[S (llenguatge de programació)|S]], amb semàntica derivada de l'[[Scheme]]. El nom de R prové parcialment del nom dels dos autors originals, així com d'un joc de paraules sobre el nom 'S'.<ref>The R [[FAQ]]: [http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-is-R-named-R_003f Why is R named R ?]. Darrer accés el 31 de juliol de 2007.</ref>
El '''llenguatge de programació R''' és un [[llenguatge de programació]] i un entorn de desenvolupament de programari per a l'obtenció de càlculs i gràfics [[estadística|estadístics]]. Fou creat originalment per [[Ross Ihaka]] i [[Robert Gentleman]] a la [[Universitat d'Auckland]], [[Nova Zelanda]], i actualment està desenvolupat per l{{'}}''Equip Central de Desenvolupament de R''. R és considerat pels seus creadors com una implementació de l'[[S (llenguatge de programació)|S]], amb semàntica derivada de l'[[Scheme]]. El nom de R prové parcialment del nom dels dos autors originals, així com d'un joc de paraules sobre el nom 'S'.<ref>The R [[FAQ]]: [http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-is-R-named-R_003f Why is R named R ?]. Darrer accés el 31 de juliol de 2007.</ref>


R és àmpliament emprat per a desenvolupar programes estadístics i per anàlisi de dades, i ha esdevingut l'estàndard en el que estadístics desenvolupen nou programari.<ref>{{ref-publicació| cognom= Fox | nom=John |coautors=Andersen, Robert | article = Using the R Statistical Computing Environment to Teach Social Statistics Courses | publicació = Department of Sociology, McMaster University | data = gener 2005 | url = http://www.unt.edu/rss/Teaching-with-R.pdf | format = PDF | dtaaccés = 3-8-2006 }}</ref> El codi font de l'R està disponible de forma gratuïta sota la [[Llicència Pública General GNU]]. També hi ha versions pre-compilades per a [[Microsoft Windows]], [[Mac OS X]], així com diversos sistemes operatius [[Linux]] i [[Unix]].
R és àmpliament emprat per a desenvolupar programes estadístics i per anàlisi de dades, i ha esdevingut l'estàndard en el que estadístics desenvolupen nou programari.<ref>{{ref-publicació| cognom= Fox | nom=John |coautors=Andersen, Robert | article = Using the R Statistical Computing Environment to Teach Social Statistics Courses | publicació = Department of Sociology, McMaster University | data = gener 2005 | url = http://www.unt.edu/rss/Teaching-with-R.pdf | format = PDF | dtaaccés = 3-8-2006 }}</ref> El codi font de l'R està disponible de forma gratuïta sota la [[Llicència Pública General GNU]]. També hi ha versions pre-compilades per a [[Microsoft Windows]], [[Mac OS X]], així com diversos sistemes operatius [[Linux]] i [[Unix]].

Revisió del 06:56, 2 set 2018

Infotaula de llenguatge de programacióR
Tipusllenguatge de programació, llenguatge de programació multiparadigma, paquet GNU, programari lliure, statistical package (en) Tradueix, especialitat i camp d'estudi Modifica el valor a Wikidata
Data de creació1993[1]
DissenyRoss Ihaka i Robert Gentleman
DesenvolupadorR Development Core Team
Paradigma de programacióMultiparadigma
Darrera versió estable3.4.4 Març 15, 2018; fa 6 anys (2018-03-15)
Llenguatge de programacióC, Fortran i R Modifica el valor a Wikidata
Influenciat perS, Scheme, XLispStat
Sistema operatiuMultiplataforma
Codi fontCodi font Modifica el valor a Wikidata
LlicènciaGNU General Public License
Etiqueta d'Stack ExchangeEtiqueta Modifica el valor a Wikidata
Pàgina webwww.r-project.org

El llenguatge de programació R és un llenguatge de programació i un entorn de desenvolupament de programari per a l'obtenció de càlculs i gràfics estadístics. Fou creat originalment per Ross Ihaka i Robert Gentleman a la Universitat d'Auckland, Nova Zelanda, i actualment està desenvolupat per l'Equip Central de Desenvolupament de R. R és considerat pels seus creadors com una implementació de l'S, amb semàntica derivada de l'Scheme. El nom de R prové parcialment del nom dels dos autors originals, així com d'un joc de paraules sobre el nom 'S'.[2]

R és àmpliament emprat per a desenvolupar programes estadístics i per anàlisi de dades, i ha esdevingut l'estàndard en el que estadístics desenvolupen nou programari.[3] El codi font de l'R està disponible de forma gratuïta sota la Llicència Pública General GNU. També hi ha versions pre-compilades per a Microsoft Windows, Mac OS X, així com diversos sistemes operatius Linux i Unix. R empra una interfície de comandes, és a dir que l'usuari ha d'escriure comandes per a obtenir els resultats desitjats, tot i que hi ha diverses interfícies gràfiques disponibles.

Característiques

L'R proporciona una àmplia varietat de tècniques estadístiques i numèriques, i és altament extensible mitjançant l'ús de llibreries. Les llibreries són creades pels usuaris, que les fan disponibles de forma gratuïta perquè la resta d'usuaris puguin emprar-les. Cada llibreria sol proporcionar eines per a un cert tipus de funció o àmbit d'estudi. Com que inicialment l'R es basà en el llenguatge S, té millor capacitat per a programació orientada a objectes que la majoria d'altres llenguatges de programació estadística. Desenvolupar extensions per a R també és facilitat per la seva permissivitat sintàctica.[4]

Un altre punt fort de l'R és la seva capacitat gràfica, els quals disposen d'una qualitat suficient per a ser inclosos en publicacions científiques, són altament configurables i poden incloure símbols matemàtics.

Tot i que l'R és majoritàriament emprat per estadístics i altres analistes de dades o programadors, també es pot emprar com un conjunt d'eines per a la computació matemàtica que proporciona resultats comparables a GNU Octave i el seu corresponent programa amb llicència, MATLAB (versió < 7).[5]

Exemple

El següent exemple mostra el fonaments de la sintaxi de programació de R tot utilitzant una interfície de línia d'ordres.

Per conveni utilitzant R és preferible utilitzar[6][7][8] una fletxa formada pels dos caràcters "<-" en comptes d'"=", com a operador d'assignament o igualtat. Tot i això també és possible utilitzar el signe "=".[9]

> x <- c(1,2,3,4,5,6)   # Creem un [[vector]] (llista ordenada de valors)
> y <- x^2              # Elevem al quadrat els elements del vector x
> print(y)              # Mostra y (el vector amb els valors al quadrat)
[1]  1  4  9 16 25 36
> mean(y)               # Calcula la [[mitjana aritmètica]] del vector y
[1] 15.16667
> var(y)                # Calcula la [[variància]] de la mostra
[1] 178.9667
> lm_1 <- lm(y ~ x)     # Troba el model de regressió lineal "y = f(x)" o "y = B0 + (B1 * x)" 
                        # guarda els resultats com a lm_1
> print(lm_1)           # Mostra el model de lm_1

Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)            x  
     -9.333        7.000 

> summary(lm_1)          # Calcula i mostra els estadístics d'ajustament del model lm_1

Call:
lm(formula = y ~ x)

Residuals:
1       2       3       4       5       6
3.3333 -0.6667 -2.6667 -2.6667 -0.6667  3.3333

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  -9.3333     2.8441  -3.282 0.030453 *
x             7.0000     0.7303   9.585 0.000662 ***
---
Signif. codes:  0 *** 0.001 ** 0.01 * 0.05 . 0.1   1

Residual standard error: 3.055 on 4 degrees of freedom
Multiple R-squared: 0.9583,	Adjusted R-squared: 0.9478
F-statistic: 91.88 on 1 and 4 DF,  p-value: 0.000662

> par(mfrow=c(2, 2))     # Demana una distribució de gràfics de 2x2
> plot(lm_1)             # Mostra els gràfics de diagnòstic del model de regressió lm_1

Gràfics de diagnòstic produits mitjançant la funció plot.lm()

Llibreries

Les possibilitats que ofereix l'R s'estenen a través de llibreries creades pels usuaris, que incorporen tècniques estadístiques especialitzades, dispositius gràfics, entorn integrat de desenvolupament i capacitats per a importar i exportar dades a una àmplia varietat de formats. També disposa de la llibreria Sweave, la qual integra els càlculs estadístics i la creació de documents científics, i que permet generar articles de forma automatitzada.

Les llibreries solen desenvolupar-se emprant R, LaTeX, Java, i sovint C i Fortran. Per defecte, a l'instal·lar R venen inclosos unes quantes llibreries bàsiques, però en total n'hi ha més de 1.000 disponibles. Les llibreries més notables es llisten, juntament amb comentaris, al web oficial R Task View.

L'OpenMx és una llibreria especialitzada en modelització d'equacions estructurals que aprofita i expandeix les capacitats el llenguatge R.

Extensions

La comunitat de bioinformàtica ha iniciat un esforç altament reeixit per a emprar R per l'anàlisi de dades de biologia molecular. El projecte bioconductor, que va començar la tardor del 2001, proporciona llibreries de R per a la manipulació i anàlisi de dades de genòmica, com ara microxips d'Affymetrix i cDNA.

Els desenvolupador de Gnumeric han cooperat amb el projecte R per a millorar la precisió de Gnumeric.[10]

Eines per a R

Hi ha diverses interfícies gràfiques per a R, incloent:

Molts editors tenen facilitats per a la programació en R, incloent:

La funcionalitat de R s'ha fet accessible des de Python per la llibreria RPy.[17]

Referències

  1. A Brief History R: Past and Future History, Ross Ihaka, Statistics Department, The University of Auckland, Auckland, New Zealand, available from the CRAN website
  2. The R FAQ: Why is R named R ?. Darrer accés el 31 de juliol de 2007.
  3. Fox, John; Andersen, Robert «Using the R Statistical Computing Environment to Teach Social Statistics Courses» (PDF). Department of Sociology, McMaster University, gener 2005.
  4. Jackman, Simon «R For the Political Methodologist» (PDF). The Political Methodologist. Political Methodology Section, American Political Science Association, 11, 1, Spring 2003, pàg. 20–22 [Consulta: 3 agost 2006].
  5. [enllaç sense format] http://www.sciviews.org/benchmark
  6. R Development Core Team. «Writing R Extensions». [Consulta: 14 juny 2012]. «[...] we recommend the consistent use of the preferred assignment operator ‘<-’ (rather than ‘=’) for assignment.»
  7. «Google's R Style Guide». [Consulta: 14 juny 2012].
  8. Wickham, Hadley. «Style Guide». [Consulta: 14 juny 2012].
  9. «Assignments with the = Operator». [Consulta: 14 juny 2012].
  10. Gnumeric, Team. «accessdate = 2006-04-30 Gnumeric 1.4 is Here!». The GNOME Project, 19-12-2004.
  11. [enllaç sense format] http://rattle.togaware.com
  12. [enllaç sense format] http://community.jedit.org/?q=node/view/2339
  13. [enllaç sense format] http://www.kate-editor.org/syntax/2.5/r.xml
  14. [enllaç sense format] http://syn.sourceforge.net/
  15. [enllaç sense format] http://sourceforge.net/projects/tinn-r
  16. [enllaç sense format] http://www.walware.de/goto/statet
  17. [enllaç sense format] http://rpy.sourceforge.net
  • Everitt, B. S. and Hothorn, T.. A Handbook of Statistical Analyses Using R. Chapman & Hall/CRC, 2006.  [1]
  • Faraway, J. J.. Linear Models with R. Chapman & Hall/CRC, 2004.  [2]
  • Faraway, J. J.. Extending the Linear Model with R: Generalized Linear, Mixed Effects and Nonparametric Regression Models. Chapman & Hall/CRC, 2005.  [3]
  • Jureckova, J. and Picek, J.. Robust Statistical Methods with R. Chapman & Hall/CRC, 2005.  [4]
  • Maindonald, J. and Braun, W. J.. Data Analysis and Graphics Using R, second edition. Cambridge University Press, 2007.  [5]
  • Murrell, P.. R Graphics. Chapman & Hall/CRC, 2005.  [6]
  • Murtagh, F.. Correspondence Analysis and Data Coding with Java and R. Chapman & Hall/CRC, 2005.  [7]
  • Verzani, J.. Using R for Introductory Statistics. Chapman & Hall/CRC, 2004.  [8]
  • Wood, S. N.. Generalized Additive Models: An Introduction with R. Chapman & Hall/CRC, 2006.  [9]
  • Crawley, M.J. (2002) Statistical Computing. John Wiley, New York.
  • Crawley, M.J. (2005) Statistics: An Introduction Using R. John Wiley, New York.
  • Crawley, M.J. (2007) The R Book. John Wiley, New York.
  • Ihaka, R., and Gentleman, R. (1996) R: A Language for Data Analysis and Graphics, Journal of Computational and Graphical Statistics, Vol. 5, No. 3, pp. 299-314, doi:10.2307/1390807.

Enllaços externs

A Wikimedia Commons hi ha contingut multimèdia relatiu a: R

(part 1, part 2, part 3), per David Mertz i Brad Huntting, introduint l'estil funcional de progrmació en R i com expressar programes orientats a objectes.