Vés al contingut

R (llenguatge de programació)

De la Viquipèdia, l'enciclopèdia lliure
Infotaula de llenguatge de programacióR
Tipusllenguatge de programació, llenguatge de programació multiparadigma, statistical package (en) Tradueix, paquet GNU, camp d'estudi i programari lliure 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.6.0 Abril 26, 2019; fa 5 anys (2019-04-26)
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

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 a anàlisi de dades, i ha esdevingut l'estàndard en què els estadístics desenvolupen nou programari.[3] El codi font de l'R està disponible de franc 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

[modifica]

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 franc 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]

El 2024 va sortir la primera versió amb traducció al català la versió 4.4.[6]

Exemple

[modifica]

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[7][8][9] 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 "=".[10]

> 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

[modifica]

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.

Les llibreries solen desenvolupar-se emprant R, i altres llengüatges de programació com LaTeX, Java, Julia, rust i sovint C, C++ i Fortran. Per defecte, a l'instal·lar R venen inclosos unes quants paquets bàsics, però n'hi ha més de 20.000 disponibles als repositoris oficials. Hi ha 2 repositoris oficials CRAN i Bioconductor. Les llibreries més notables de CRAN es llisten, juntament amb comentaris, al web oficial R Task View Arxivat 2007-06-25 a Wayback Machine.

Bioconductor es un esforç de la comunitat de bioinformàtica per a emprar R per l'anàlisi de dades de biologia molecular. 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, dades de seqüenciació.

Extensions

[modifica]

També disposa del paquet Sweave, el qual integra els càlculs estadístics i la creació de documents científics, i que permet generar articles de forma automatitzada.

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

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

Eines per a R

[modifica]

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

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

Referències

[modifica]
  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, 1-2005. Arxivat de l'original el 2016-06-11 [Consulta: 7 octubre 2007].
  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. Arxivat de l'original el 2006-07-21 [Consulta: 3 agost 2006]. Arxivat 2006-07-21 a Wayback Machine.
  5. [enllaç sense format] http://www.sciviews.org/benchmark Arxivat 2009-08-08 a Wayback Machine.
  6. «Robert Castelo (@robertclab@genomic.social)», 24-04-2024. [Consulta: 27 abril 2024].
  7. 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.»
  8. «Google's R Style Guide». Arxivat de l'original el 1 de març 2013. [Consulta: 14 juny 2012].
  9. Wickham, Hadley. «Style Guide». [Consulta: 14 juny 2012].
  10. «Assignments with the = Operator». [Consulta: 14 juny 2012].
  11. [enllaç sense format] http://rpy.sourceforge.net
  12. [enllaç sense format] http://rattle.togaware.com
  13. [enllaç sense format] http://community.jedit.org/?q=node/view/2339
  14. [enllaç sense format] http://www.kate-editor.org/syntax/2.5/r.xml Arxivat 2007-09-27 a Wayback Machine.
  15. [enllaç sense format] http://syn.sourceforge.net/ Arxivat 2007-10-20 a Wayback Machine.
  16. [enllaç sense format] http://sourceforge.net/projects/tinn-r
  17. [enllaç sense format] http://www.walware.de/goto/statet Arxivat 2016-09-26 a Wayback Machine.

Bibliografia

[modifica]

Enllaços externs

[modifica]
  • Pàgina principal del projecte R (anglès)
  • RSeek.org - Motor de cerca per a R creat per Sasha Goodman (anglès)