70
Taller introducci´o aR Part I Joan Manel S´ anchez Gri˜ o [email protected] 25 abril 2013

Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Taller introduccio a RPart I

Joan Manel Sanchez [email protected]

25 abril 2013

Page 2: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Index

1 Caracterıstiques generals del programariOrıgensPrincipals caracterıstiquesAjuda i documentacio

2 Funcionalitats basiquesInstal·lacioEspais de treball, objectes i paquetsExecucio d’instruccionsGUIs i IDEs

3 Tractament de fitxers i transformacio de dadesCarrega de dadesFuncions basiquesTransformacio de dades

4 Analisi de dadesProcediments d’analisiEls grafics en R

Introduccio a R. 2 de 64

Page 3: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Caracterıstiques generals del programari

Introduccio a R. 3 de 64

Page 4: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Orıgens

Introduccio a R. 4 de 64

Page 5: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Orıgens

1992 Aukland, Nova Zelanda: Ross Ihaka i Robert Gentleman

Implementacio del llenguatge “S”

1993 primeres distribucions a la xarxa

1995 pren forma amb la llicenca GPL

1997 R Core Development Team

2002 R Foundation for Statistical Computing

Introduccio a R. 5 de 64

Page 6: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Principals caracterıstiques

Introduccio a R. 6 de 64

Page 7: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Principals caracterıstiques

Gratuıt

Llenguatge i entorn per la computacio estadıstica i grafica

Motor lleuger amb la possibilitat d’utilitzar diferents interficies

Dirigit a objectes

Versatilitat i ductilitat

Utilitzacio de

Calculs basics (calculadora)Funcions existentsFuncions programades ad-hoc

Carrega de paquets (amb les funcions) segons les necessitats

Introduccio a R. 7 de 64

Page 8: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Ajuda i documentacio

Introduccio a R. 8 de 64

Page 9: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Ajuda i documentacio

Ajuda i documentacio oficial

?, help(), help.search()Documentacio dels paquets

Grups d’usuaris

R Users Grup Barcelona http://rugbcn.wordpress.com/

Blocs, forums i llocs web de suport

R-bloggers http://www.r-bloggers.com/

Llistes de correu electronic de suport

R-help-eshttps://stat.ethz.ch/mailman/listinfo/r-help-es

Introduccio a R. 9 de 64

Page 10: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Pagina d’ajuda de funcions

Introduccio a R. 10 de 64

Page 11: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Funcionalitats basiques

Introduccio a R. 11 de 64

Page 12: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Instal·lacio

Introduccio a R. 12 de 64

Page 13: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Instal·lacio

Introduccio a R. 13 de 64

Page 14: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Instal·lacio

Introduccio a R. 13 de 64

Page 15: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Instal·lacio

Introduccio a R. 13 de 64

Page 16: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Instal·lacio

Windows

Descarregar baseInstal·lar

Linux

(actualitzacions automatiques) Afegir l’adreca de la font deprogramari (veure web)(actualitzacions automatiques) Afegir la clau publica (veureweb)Cercar “r-base” al centre de programari o teclejar al terminal“sudo apt-get install r-base”

Mac OS

Descarregar ultima versio disponibleInstal·lar

Alternativa: descarregar paquets preparats R + GUI/IDE

Introduccio a R. 14 de 64

Page 17: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Espais de treball, objectes i paquets

Introduccio a R. 15 de 64

Page 18: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Working directory

Es el directori de treball, on R cerca els fitxers externs si nos’especifica una altra cosa.

getwd()

setwd()

Introduccio a R. 16 de 64

Page 19: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

workspace

L’espai de treball, workspace, es l’entorn de R en el que es treballadurant una sessio i conte tots els objectes definits per l’usuari.

No ha de ser definit per l’usuari, es genera en cada sessio

Es pot desar: save.image()

Coneixer els objectes: ls()

Classe: class()

Introduccio a R. 17 de 64

Page 20: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Objectes

Vectors: seguit de valors d’un mateix tipus, ja sigui numerics,logics o caracter, amb una dimensio i una longitud determinada

unvector

## [1] 2 5 3 66 4 87

Factors: vectors que contenen variables categoriques, amb unatribut de nivells que son les categories. Els nivells o categories esconeixen amb la funcio levels()

unfactor

## [1] Primer Tercer Segon Primer Primer Tercer

## Levels: Primer Segon Tercer

Introduccio a R. 18 de 64

Page 21: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Objectes

Matrius son objectes de dues dimensions, amb fileres i columnes,que contenen valors d’un mateix tipus

unamatriu

## [,1] [,2]

## [1,] 1 6

## [2,] 2 7

## [3,] 3 8

## [4,] 4 9

## [5,] 5 10

Introduccio a R. 19 de 64

Page 22: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Objectes

Data.frame es el que anomenem matriu de dades. Tenen duesdimensions que poden contenir dades de diferents tipus. Lescolumnes son les variables, i cada variable pot ser de diferentsclasses. A les fileres tenim els individus

undataframe

## nom sexe edat pes

## 1 Arnau H 28 67.9

## 2 Vıctor H 32 59.6

## 3 Martı H 30 85.5

## 4 Pau H 32 66.5

## 5 Pol H 30 56.6

## 6 Berta D 30 61.4

## 7 Julia D 32 67.9

## 8 Paula D 29 74.0

Introduccio a R. 20 de 64

Page 23: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Objectes

Llistes son un conjunt d’objectes, que poden ser iguals o diferents,i que poden tenir diferents dimensions i tipus de dades

unallista

## [[1]]

## [1] 2 5 3 66 4 87

##

## [[2]]

## [1] Primer Tercer Segon Primer Primer Tercer

## Levels: Primer Segon Tercer

##

## [[3]]

## [,1] [,2]

## [1,] 1 6

## [2,] 2 7

## [3,] 3 8

## [4,] 4 9

## [5,] 5 10

##

## [[4]]

## nom sexe edat pes

## 1 Arnau H 28 67.9

## 2 Vıctor H 32 59.6

## 3 Martı H 30 85.5

## 4 Pau H 32 66.5

## 5 Pol H 30 56.6

## 6 Berta D 30 61.4

## 7 Julia D 32 67.9

## 8 Paula D 29 74.0 Introduccio a R. 21 de 64

Page 24: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Paquets

search()

install.packages()

library(), require()

Introduccio a R. 22 de 64

Page 25: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Execucio d’instruccions

Introduccio a R. 23 de 64

Page 26: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Objecte vs funcio

Referenciar objecte

Escriure el nom1 dimensio: posicio del valor entre claudators [ ]2 dimensions: posicio de les fileres, de les columnes entreclaudators [fileres,columnes]Variable en data.frame: “ $ ” entre nom objecte i nom variable

Utilitzar funcio

Sempre amb parentesi al final()Entre els parentesi els argumentsNo modifica els objectes si no es fa expressament

Introduccio a R. 24 de 64

Page 27: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Calculadora

1+2

## [1] 3

3*4

## [1] 12

25+(235/6)

## [1] 64.17

Introduccio a R. 25 de 64

Page 28: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Operadors

Sımbol Descripcio

# Comentari, utilitzat per escriure comentarisen els scripts. Tot el que estigui al seu dar-rera en una mateixa lınia no sera processatper la consola

= Igual, utilitzat en algunes funcions i per es-pecificar valors de les opcions

== Igual, utilitzat en les avaluacions logiques←→ Igual, utilitzat per atorgar un valor a un ob-

jecte!= Diferent, o no igual& I| O

Introduccio a R. 26 de 64

Page 29: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Generar objectes

a <- c(1,3,2,1,1,3)

a

## [1] 1 3 2 1 1 3

b <- factor(a)

b

## [1] 1 3 2 1 1 3

## Levels: 1 2 3

levels(b) <- c("Primer","Segon","Tercer")

b

## [1] Primer Tercer Segon Primer Primer Tercer

## Levels: Primer Segon Tercer

Introduccio a R. 27 de 64

Page 30: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Generar objectes

1:10 -> c

c

## [1] 1 2 3 4 5 6 7 8 9 10

d = letters[1:5]

d

## [1] "a" "b" "c" "d" "e"

Introduccio a R. 28 de 64

Page 31: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Generar objectes

e <- data.frame(nom=c("Arnau","Pol","Berta","Julia"),

sexe=c(rep("H",2),rep("D",2)),

edat=round(rnorm(n=4,mean=30)),

pes=round(rnorm(n=4,mean=70,sd=12),1))

e

## nom sexe edat pes

## 1 Arnau H 30 67.8

## 2 Pol H 31 76.4

## 3 Berta D 30 62.7

## 4 Julia D 31 59.2

Introduccio a R. 29 de 64

Page 32: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Generar objectes

f <- list(a,b,e)

f

## [[1]]

## [1] 1 3 2 1 1 3

##

## [[2]]

## [1] Primer Tercer Segon Primer Primer Tercer

## Levels: Primer Segon Tercer

##

## [[3]]

## nom sexe edat pes

## 1 Arnau H 30 67.8

## 2 Pol H 31 76.4

## 3 Berta D 30 62.7

## 4 Julia D 31 59.2

Introduccio a R. 30 de 64

Page 33: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Referenciar objectes

a[3]

## [1] 2

b[2]

## [1] Tercer

## Levels: Primer Segon Tercer

Introduccio a R. 31 de 64

Page 34: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Referenciar objectes

e[3,]

## nom sexe edat pes

## 3 Berta D 30 62.7

e[e$nom=="Berta","edat"]

## [1] 30

Introduccio a R. 32 de 64

Page 35: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Referenciar objectes

f[1]

## [[1]]

## [1] 1 3 2 1 1 3

f[[1]]

## [1] 1 3 2 1 1 3

f[[3]][,1]

## [1] Arnau Pol Berta Julia

## Levels: Arnau Berta Julia Pol

Introduccio a R. 33 de 64

Page 36: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

GUIs i IDEs

Introduccio a R. 34 de 64

Page 37: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

GUIs i IDEs

http://www.rstudio.com/

Introduccio a R. 35 de 64

Page 38: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

GUIs i IDEs

http://www.sciviews.org/Tinn-R/

Introduccio a R. 35 de 64

Page 39: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

GUIs i IDEs

http://ess.r-project.org/

Introduccio a R. 35 de 64

Page 40: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

GUIs i IDEs

http://www.rcommander.com/

Introduccio a R. 35 de 64

Page 41: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

GUIs i IDEs

http://www.deducer.org/

Introduccio a R. 35 de 64

Page 42: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Tractament de fitxers i transformacio de dades

Introduccio a R. 36 de 64

Page 43: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Carrega de dades

Introduccio a R. 37 de 64

Page 44: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Carregar dades csv: read.table()

args(read.table)

## function (file, header = FALSE, sep = "", quote = "\"'", dec = ".",

## row.names, col.names, as.is = !stringsAsFactors, na.strings = "NA",

## colClasses = NA, nrows = -1, skip = 0, check.names = TRUE,

## fill = !blank.lines.skip, strip.white = FALSE, blank.lines.skip = TRUE,

## comment.char = "#", allowEscapes = FALSE, flush = FALSE,

## stringsAsFactors = default.stringsAsFactors(), fileEncoding = "",

## encoding = "unknown", text)

## NULL

dades.gencat <- read.csv2(

"http://www.gencat.cat/opendata/recursos/eleccions/pc/OPENDATA_A2012_participacio.csv",

fileEncoding="CP1252")

Introduccio a R. 38 de 64

Page 45: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Carregar dades sav: read.spss()

library(foreign)

args(read.spss)

## function (file, use.value.labels = TRUE, to.data.frame = FALSE,

## max.value.labels = Inf, trim.factor.names = FALSE, trim_values = TRUE,

## reencode = NA, use.missings = to.data.frame)

## NULL

dades.spss <- read.spss("GSS1993.sav",to.data.frame=T)

Introduccio a R. 39 de 64

Page 46: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Funcions basiques

Introduccio a R. 40 de 64

Page 47: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Funcions basiques

Descripcio d’un data.frame

str(dades.gencat)

## 'data.frame': 1009 obs. of 25 variables:

## $ ELECCIO : Factor w/ 2 levels "","A": 2 2 2 2 2 2 2 2 2 2 ...

## $ ANY : int 2012 2012 2012 2012 2012 2012 2012 2012 2012 2012 ...

## $ NIVELL : Factor w/ 6 levels "","CA","CO","DM",..: 2 3 3 3 3 3 3 3 3 3 ...

## $ AUTONOMIA : Factor w/ 2 levels "","Catalunya": 2 2 2 2 2 2 2 2 2 2 ...

## $ CODI.PROVINCIA : int NA NA NA NA NA NA NA NA NA NA ...

## $ PROVINCIA : Factor w/ 5 levels "","Barcelona",..: 1 1 1 1 1 1 1 1 1 1 ...

## $ CODI.COMARCA : int NA 1 2 3 4 5 6 7 8 9 ...

## $ COMARCA : Factor w/ 43 levels "","Alta Ribagorca",..: 1 3 4 5 6 2 7 8 9 10 ...

## $ CODI.MUNICIPI : int NA NA NA NA NA NA NA NA NA NA ...

## $ MUNICIPI : Factor w/ 950 levels "","Abella de la Conca ",..: 1 1 1 1 1 1 1 1 1 1 ...

## $ CODI.DISTRICTE : int NA NA NA NA NA NA NA NA NA NA ...

## $ DISTRICTE : Factor w/ 11 levels "","Ciutat Vella ",..: 1 1 1 1 1 1 1 1 1 1 ...

## $ CENS.ELECTORAL : Factor w/ 841 levels "100.725","1.008",..: 619 440 782 749 172 416 795 116 93 623 ...

## $ VOTANTS : Factor w/ 793 levels "100","1.002",..: 454 281 601 593 23 249 624 780 732 440 ...

## $ X..VOTANTS : num 67.8 69.2 68.1 73 68.4 ...

## $ ABSTENCIO : Factor w/ 631 levels "","10","100",..: 159 625 282 205 452 626 281 390 406 198 ...

## $ X..ABSTENCIO : num 32.2 30.8 31.9 26.9 31.6 ...

## $ VOTS.NULS : Factor w/ 181 levels "","0","1","10",..: 89 49 105 130 29 92 127 159 157 146 ...

## $ X..VOTS.NULS : num 0.9 0.86 0.72 1.04 1.24 1.74 0.92 0.84 0.91 1.98 ...

## $ VOTS.EN.BLANC : Factor w/ 215 levels "","0","1","10",..: 150 112 181 175 59 136 5 30 29 199 ...

## $ X..VOTS.EN.BLANC : num 1.44 1.5 1.28 1.23 1.59 2.24 1.69 1.43 1.59 2.51 ...

## $ VOTS.A.CANDIDATURES : Factor w/ 796 levels "","100","1.001",..: 438 277 593 581 14 233 612 773 726 415 ...

## $ X..VOTS.A.CANDIDATURES: num 97.7 97.6 98 97.7 97.2 ...

## $ VOTS.VALIDS : Factor w/ 797 levels "","100","1.000",..: 446 278 598 584 19 239 618 783 736 426 ...

## $ X..VOTS.VALIDS : num 99.1 99.1 99.3 99 98.8 ...Introduccio a R. 41 de 64

Page 48: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Funcions basiques

Descriptius basics

summary(dades.gencat$X..ABSTENCIO)

## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's

## 7.46 21.70 26.10 26.50 30.60 93.50 1

Introduccio a R. 42 de 64

Page 49: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Funcions basiques

Suma

sum(dades.gencat$X..ABSTENCIO)

## [1] NA

sum(dades.gencat$X..ABSTENCIO,na.rm=T)

## [1] 26666

Introduccio a R. 43 de 64

Page 50: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Funcions basiques

Mitjana

mean(dades.gencat$X..VOTANTS)

## [1] NA

mean(dades.gencat$X..VOTANTS,na.rm=T)

## [1] 73.55

Introduccio a R. 44 de 64

Page 51: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Funcions basiques

Desviacio

sd(dades.gencat$X..VOTANTS)

## [1] NA

sd(dades.gencat$X..VOTANTS,na.rm=T)

## [1] 7.997

Introduccio a R. 45 de 64

Page 52: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Funcions basiques

Quartils

quantile(dades.gencat$X..VOTANTS,na.rm=T)

## 0% 25% 50% 75% 100%

## 6.49 69.44 73.91 78.27 92.54

Introduccio a R. 46 de 64

Page 53: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Funcions basiques

Taula frequencies

table(dades.gencat$PROVINCIA)

##

## Barcelona Girona Lleida Tarragona

## 44 323 223 233 186

Introduccio a R. 47 de 64

Page 54: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Funcions basiques

Taula contingencia

table(dades.gencat$PROVINCIA,dades.gencat$PROVINCIA)

##

## Barcelona Girona Lleida Tarragona

## 44 0 0 0 0

## Barcelona 0 323 0 0 0

## Girona 0 0 223 0 0

## Lleida 0 0 0 233 0

## Tarragona 0 0 0 0 186

Introduccio a R. 48 de 64

Page 55: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Transformacio de dades

Introduccio a R. 49 de 64

Page 56: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Transformacions de dades

Infinitat de metodes per transformar les dades

Especıfics per factors

Especıfics per numeriques

Per tot tipus de dades

Introduccio a R. 50 de 64

Page 57: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Transformacio factors

levels() es pot utilitzar per canviar les catetories

dades.gencat$prov <- dades.gencat$PROVINCIA

levels(dades.gencat$prov)

## [1] "" "Barcelona" "Girona" "Lleida" "Tarragona"

levels(dades.gencat$prov) = c("Districte","Est","Est","Oest","Oest")

table(dades.gencat$prov,dades.gencat$PROVINCIA)

##

## Barcelona Girona Lleida Tarragona

## Districte 44 0 0 0 0

## Est 0 323 223 0 0

## Oest 0 0 0 233 186

Introduccio a R. 51 de 64

Page 58: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Transformacio numerica

cut() genera trams d’una variable numerica

summary(dades.gencat$X..VOTANTS)

## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's

## 6.49 69.40 73.90 73.50 78.30 92.50 1

dades.gencat$votants <- cut(dades.gencat$X..VOTANTS,

breaks=quantile(dades.gencat$X..VOTANTS,na.rm=T),

include.lowest=TRUE)

summary(dades.gencat$votants)

## [6.49,69.4] (69.4,73.9] (73.9,78.3] (78.3,92.5] NA's

## 252 252 252 252 1

Introduccio a R. 52 de 64

Page 59: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Transformacio qualsevol tipus

ifelse() es una funcio que evalua una sentencia i actua enconsequencia

dades.gencat$bcnmolt <- ifelse(dades.gencat$PROVINCIA=="Barcelona" & dades.gencat$X..VOTANTS>=80,

"bcn molts",

"altres")

table(dades.gencat$bcnmolt)

##

## altres bcn molts

## 955 54

Introduccio a R. 53 de 64

Page 60: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Transformacio qualsevol tipus

car::recode recodifica les dades de qualsevol tipus

library(car)

dades.gencat$localitzacio <- recode(dades.gencat$PROVINCIA,

"c('Barcelona','Girona')='Est';''='Districte';else='Oest'",

as.factor.result=TRUE)

table(dades.gencat$localitzacio,dades.gencat$PROVINCIA)

##

## Barcelona Girona Lleida Tarragona

## Districte 44 0 0 0 0

## Est 0 323 223 0 0

## Oest 0 0 0 233 186

Introduccio a R. 54 de 64

Page 61: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Analisi de dades

Introduccio a R. 55 de 64

Page 62: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Procediments d’analisi

Introduccio a R. 56 de 64

Page 63: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Procediments d’analisi’

1 Carregar dades

2 Identificar les dades (descriptius, grafics)

3 Identificar les necessitats de l’explotacio

4 Transformar les dades

5 Explotar les dades

Introduccio a R. 57 de 64

Page 64: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Els grafics en R

Introduccio a R. 58 de 64

Page 65: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Funcions per graficar

Funcions per controlar la finestra

par()layout()

Funcions de primer nivell

hist()plot()boxplot()barplot()

Funcions de segon nivell

legend()points()text()lines()abline()Funcio de primer nivell: add=TRUE

Introduccio a R. 59 de 64

Page 66: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

Finestra

par()

par(mar=c(5.1, 4.1, 4.1, 2.1)) : estableix els margespar(mfrow=c(2,3)) : divideix en numero de fileres i numero decolumnespar(xpd=TRUE) : permet posicionar la llegenda fora de l’areadel grafic...

layout()

layout(matrix(c(1,2,3,4), ncol=2, byrow=FALSE))

Introduccio a R. 60 de 64

Page 67: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

hist()

hist(dades.gencat$X..VOTANTS)

Histogram of dades.gencat$X..VOTANTS

dades.gencat$X..VOTANTS

Fre

quen

cy

0 20 40 60 80 100

010

020

030

040

050

0

Introduccio a R. 61 de 64

Page 68: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

plot()

plot(dades.gencat$X..VOTANTS~dades.gencat$X..VOTS.VALIDS,col=dades.gencat$prov,pch=19)

legend("topleft",legend=levels(dades.gencat$prov),fill=1:3)

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●● ●

●●●

●●

●●

●●●

● ●

● ●

●●●

●●

●●

● ●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●

●●

● ●

●●

●●

●● ●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

● ●

●●

● ●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

● ●●

●●

●●●

●●

●●

●● ●

●●

●● ●●

●●

●●

●●

●●

●●

●●

●● ●

●●

●●

●●●●

●●

●●

● ●

●●

●●

● ●

●●

●●

●●

●●

●●

●●

●●

●●

● ●

●●●

●●

●●

●●

●●●

● ●

●●

●●

● ●

●●

● ●

●●

●●

● ●

● ●●

●●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●

● ●

●●

● ●

●● ●

●●

●●

●●

● ●

● ●●

●●

●●

● ●●

●●

●●

85 90 95 100

2040

6080

dades.gencat$X..VOTS.VÀLIDS

dade

s.ge

ncat

$X..V

OTA

NT

SDistricteEstOest

Introduccio a R. 62 de 64

Page 69: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

boxplot()

boxplot(dades.gencat$X..VOTANTS~dades.gencat$PROVINCIA)

points(tapply(dades.gencat$X..VOTANTS,dades.gencat$PROVINCIA,mean), col="red", pch=19)

●●●

●●

Barcelona Girona Lleida Tarragona

2040

6080

●●

●●

Introduccio a R. 63 de 64

Page 70: Taller introducció a R - Part I - UAB Barcelonapagines.uab.cat/plopez/sites/pagines.uab.cat.plopez/...2 Funcionalitats b asiques Instal· lacio Espais de treball, objectes i paquets

barplot()

barplot(prop.table(table(dades.gencat$PROVINCIA))*100)

Barcelona Girona Lleida Tarragona

05

1015

2025

30

Introduccio a R. 64 de 64