R per a l'anàlisi estadística - Apunts bàsics

Materials

Per a qualsevol cerca relacionada amb R cal accedir primer de tot a la pàgina principal del projecte: http://www.r-project.org/. En aquest lloc podreu trobar tot tipus de documentació i ajut relacionat amb el projecte.

Un apartat relativament separat del lloc del projecte però igualment important és CRAN (Comprehensive R Archive Network). És l'espai des d'on es pot accedir al codi font del programa i de les extensions en forma de paquets que l'acompanyen. En el cas d'estar connectats a la xarxa a l'estat espanyol, seleccionarem el "mirror" http://cran.es.r-project.org/ adequat.

La documentació d'R és excel·lent. Un cop dins el programa es pot fer servir:

> ?comanda                         # obtenir ajuda sobre la 'comanda' concreta
> help.search("text-a-buscar")     # Buscarà totes les comandes que tinguin
                                   # a veure amb 'text-a-buscar'

Si, malgrat tot, no acabem de solucionar el dubte o la qüestió, hi ha tres llocs bàsics pels quals començar a buscar més documentació:

  • Documentació pròpia del projecte: An Introduction to R. Manual imprescindible per on començar a buscar qualsevol mena de dubte.
  • Documentació externa vinculada al projecte: "Contributed Docs". Docuements generalment extensos que abasten diferents aspectes de l'ús d'R. En castellà, i per a novells, recomano especialment "R para principiantes", que és la traducció d'"R for beginners" de Emmanuel Paradis.
  • Arxius de la llista de distribució "R-help". Permeten buscar paraules clau i frases dins de la immensa quantitat d'ajuda i informació que es proporciona a la llista d'ajuda d'R.
  • Sant-Google. Res no se li escapa.
  • Rweb. Pàgina que permet executar codi d'R sense haver d'instal·lar-lo, a mode de demostració. També conté exemples.

A més a més:

Paquets recomanats

Eines complementàries útils

La consola d'R no és l'eina més adequada per a treballar-hi. La solució més fàcil passa per treballar paral·lelament amb un editor de textos i copiar i enganxar les comandes que vulguem. Tot i això, aquesta no és pas tampoc la millor solució. Hi ha dues aplicacions que treballen paral·lelament amb R per tal que la utilització d'aquest sigui molt més agradable: Emacs/XEmacs i Tinn-R. El primer parell és un editor de textos complet, mentre que Tinn-R és tan sols un acoloridor de sintaxi i poc més.

Emacs / XEmacs i ESS

Complets editors de textos (emacs i XEmacs) que, conjuntament amb ESS (Emacs Speaks Statistics) permeten interactuar amb R i amb molts d'altres llenguatges (entre ells, stata).

Tinn-R

Tinn-R és d'ús específic per a R. Permet acolorir la sintaxi i enviar comandes a R.

RStudio

RStudio és un entorn de desenvolupament integrat per a R molt potent.

Full de comandes més utilitzades (bàsic)

Full (pdf) de comandes. Malgrat que podria haver posat aquesta referència a l'apartat de documentació, considero que més aviat es tracta d'una eina molt útil per tenir al costat les primeres vegades que ens podem a treballar amb R.

Scripts comentats d'exemple

Per què fer servir R?

Finalment, però no menys important, per què he de fer servir R si la universitat ja paga una llicència de SPSS/Stata/el-programa-que-sigui ?

Sense intenció de ser exhaustiu, heus ací uns quants motius pels quals us pot interessar de fer servir R tant per a la recerca en ciències socials com per a la docència:

Motius pràctics

  • R és un llenguatge de programació en sí mateix. Està basat en S-PLUS, un llenguatge amb una tradició històrica important. D'una banda això li dóna una gran maduresa com a llenguatge i de l'altra fa que el ventall de possibilitats i d'usos d'R sigui enorme. A tall d'exemple, es pot fer interactuar fàcilment amb Google Charts per fer gràfiques en línia. De fet, fins i tot es pot demanar pizza a través d'R....
  • R és un projecte molt ben documentat. Veieu-ne els exemples que he donat en aquesta pàgina, amb diferents manuals de més de 100 pàgines i alguns d'ells traduïts, entre d'altres, al castellà.
  • Existeix una gran quantitat de paquets adaptats per a desenvolupar tasques concretes. De ben segur que en trobarem molts que ens facilitaran la feina. No cal reinventar la roda dues vegades.
  • Codi font disponible. Podem saber en cada moment què és el que fa exactament cada funció i, doncs, adaptar-la a les nostres necessitats concretes.
  • R s'entén bé amb tothom. R ofereix diferents eines per tal d'exportar i importar dades, matrius, gràfiques, taules, etc... a la immensa majoria de formats oberts i alguns de propietaris.
  • Per les seves capacitats gràfiques (galeria de gràfiques)

Més arguments a Why use R?.

I una llista dels senyals que s'envien quan hom fa servir segons quin tipus de programari per a l'anàlisis de dades: Statistics Softwrare Signal.

Motius ètics

A banda de ser una eina útil, és també una Bona eina.

  • És Programari lliure
  • Les necessitats que es van cobrint són les que té la pròpia comunitat d'usuaris.
  • El podem mostrar a classe i fer-lo servir a la docència sabent que l'estudiant el podrà fer servir a casa. Si ensenyem SPSS / Stata els estudiants o bé han de treballar als ordinadors de la universitat, o bé els estem demanant que per a aprovar una assignatura han de comprar una llicència concreta (¿qué diríen si els obligessim a utilitzar un bolígraf de la marca BIC/Montblanc/...?), o bé els induïm a què no respectin una llicència i, doncs, al delicte.
  • Als estudiants no els hem d'ensenyar a ser consumidors d'un producte, ans a saber fer les coses de diferents maneres i amb diferents programes.
  • Som una universitat pública. Si hi ha programes que fan el mateix que d'altres i són lliures i, molts d'ells, gratuïts, és ètic que invertim els diners en els que són de pagament?

Un bon article sobre programari i ètica el podeu trobar a Es ética, estúpido, de Ricardo Galli.

Línia de comandes? Però si estem a l'era del ratoli!

Hi ha també força motius per a preferir treballar amb l'austera línia de comandes d'R en lloc de fer-ho amb una interfície mega-ultra-genial que ho fa tot tan sols prement botonets:

  • El fet de treballar amb el codi fa que l'estudiant adquireixi uns hàbits consistents en "pensar" i dissenyar el que ha de fer, més que no pas en "fer". Sovint "fer" vol dir anar prement botonets per treure models com a llonganisses sense saber ben bé què se li ha demanat al programa.
  • Donat que som a la universitat per a fer ciència, és del tot imprescindible que siguem capaços de replicar els resultats que hem obtingut. Això només és possible si utilitzem sintaxi i ens centrem en el codi. Preu per preu, si hem de fer servir el codi, fem-ho amb un programa que està pensar per a treballar d'aquesta manera, té una sintaxi elegant i és un llenguatge de programació en sí mateix.

No obstant això, si preferiu treballar amb una interfície gràfica, R en disposa actualment de diferents models:

‘Ramón y Cajal’ Fellow

Tailoring social science research methods