Documentos de Académico
Documentos de Profesional
Documentos de Cultura
4 a a b c d
5 a 0 0 0 1
6 b 1 0 0 0
7 c 0 1 0 0
8 d 0 0 1 0
12 1 2 3 4 5 6 7 8 9 10
13 1 10 8 21 26 7 10 6 8 3
Para conocer otros comandos más avanzados en la construcción de tablas,
consultar tabulate, ftable, margin.table, prop.table, addmargins y
xtabs.
Arreglos multidimensionales: Listas (S3)
Las listas son los objetos más genéricos del lenguaje, son de dimensiones
arbitrarias donde cada dimensión contiene una colección de cualquier tipo de
elementos. La mayoría de los comandos (métodos S3) devuelven objetos que en
realidad son listas (con nombres de clases particulares).
Las listas se denen con el comando list()
1 L <- list ( Nombre = c ( ' Julia ' , ' Maria ' , ' Rosa ') , Cargo
= factor ( letters [1:5]) )
2 names ( L )
3 L
Las listas pueden estar anidadas
1 > ( LL <- list (L , L ) )
2 > length ( LL ) # 2
3 > class ( LL )
4 [1] " list "
Existe una gran cantidad de comandos que operan sobre las listas: la familia
*apply, la librería plyr, . . .
Arreglos multidimensionales: Acceso a elementos II
7 ¾Se puede decir que en promedio los hombre gastaron más que las
mujeres? ¾cuáles son las respectivas desviaciones estándar?
9 ...
Alcance de variables I: attach y search
Hay oportunidades donde el acceso individual de miembros de un objeto es preferible.
Accesar x$miembro a través de miembro. Esto se logra con attach del objeto de interés
a la ruta de búsqueda.
1 x = list ( Letras = letters , Numeros = seq _ along ( letters ) )
2 x $ Letras
3 attach ( x )
4 Letras
1 > data ( women ) ; names ( women )
2 [1] " height " " weight "
3 > search ()
4 [1] " . GlobalEnv " " package : datasets " " package : base "
5 > mean ( women $ height )
6 [1] 65
7 > attach ( women )
8 > search ()
9 [1] " . GlobalEnv " " women " " package : datasets " " package :
base "
10 > mean ( height )
11 [1] 65
Alcance de variables I: detach
2 Estime el juez con mayor y/o menor score rowSums, min, max
3 Estime el promedio grupal (summary) y los promedios de cada prueba
Ejemplo:
Se quiere un resumen de la variable y (d$y) según los niveles de x (d$x).
1 > aggregate ( d$y ~ d$x , FUN = summary )
2 d$x d$y . Min . d$y .1 st Qu . d $y. Mean d$ y .3 rd Qu . d$y. Max .
3 1 1 0.169 0.847 1.091 1.552 1.579
4 2 2 2.489 2.507 2.884 3.082 3.638
5 3 3 1.644 2.192 2.605 3.086 3.433
1 > summary (d)
2 x y
3 Min . :1 Min . :0.169
4 1 st Qu .:1 1 st Qu .:1.579
5 Median :2 Median :2.489
6 Mean :2 Mean :2.193
7 3 rd Qu .:3 3 rd Qu .:2.739
8 Max . :3 Max . :3.638
Se muestra la diferencia entre summary y aggregate/summary.
Arreglos multidimensionales: Algunos comentarios nales
Cada método tiene asociado tres funciones
Arreglos array(), as.array(), is.array()
Matrices matrix(), as.matrix(), is.matrix()
Tablas data.frame(), as.data.frame(), is.data.frame()
..
.
a través de estas funciones se pueden denir, mutar y vericar cada clase de método.
1 > D 10 > as . matrix ( D)
2 Nombres Edades IRC 11 Nombres Edades IRC
3 1 Andreina 28 4.55 12 [1 ,] " Andreina " " 28 " " 4.55 "
4 2 Veronica 25 2.63 13 [2 ,] " Veronica " " 25 " " 2.63 "
5 3 Zuleima 37 3.31 14 [3 ,] " Zuleima " " 37 " " 3.31 "
6 > is . data . frame (D ) 15 > class ( as . matrix (D))
7 [1] TRUE 16 [1] " matrix "
8 > is . matrix ( D) 17 > as . matrix ( D [ ,2:3])
9 [1] FALSE 18 Edades IRC
19 [1 ,] 28 4.55
20 [2 ,] 25 2.63
21 [3 ,] 37 3.31
Lectura de datos
R cuenta con una gran gama de comandos para leer y cargar archivos de
datos, entre los más usuales están
1 > dir () # !
2 > MB = read . table (" effort . dat " , header = TRUE ) # setwd () !
3 > str ( MB )
4 ' data . frame ': 20 obs . of 3 variables :
5 $ setting : int 46 74 89 77 84 89 68 70 60 55 ...
6 $ effort : int 0 0 16 16 21 15 14 6 13 9 ...
7 $ change : int 1 10 29 25 29 40 21 0 13 4 ...
8 > View ( MB )
9 > barplot ( MB $ setting , names . arg = rownames ( MB ) , horiz =T , las =2)
Lectura de datos: read.table
Venezuela
setting effort change TrinidadTobago
Peru
Bolivia 46 0 1 Paraguay
Panama
Brazil 74 0 10 Nicaragua
Mexico
... Jamaica
Honduras
Peru 73 0 2 Haiti
Guatemala
TrinidadTobago 84 15 29 ElSalvador
Ecuador
Venezuela 91 7 11 DominicanRep
Cuba
CostaRica
Colombia
Chile
Brazil
Bolivia
20
40
60
80
1 > dir () # !
2 > MB = read . table (" effort . dat " , header = TRUE ) # setwd () !
3 > str ( MB )
4 ' data . frame ': 20 obs . of 3 variables :
5 $ setting : int 46 74 89 77 84 89 68 70 60 55 ...
6 $ effort : int 0 0 16 16 21 15 14 6 13 9 ...
7 $ change : int 1 10 29 25 29 40 21 0 13 4 ...
8 > View ( MB )
9 > barplot ( MB $ setting , names . arg = rownames ( MB ) , horiz =T , las =2)
Lectura de datos: read.csv
OANDA
TM
Archivo historicOANDA.csv
http://www.oanda.com/currency/historical-rates/
0.795
"Daily BID rates @ +/- 0%"
●
● ●
"www.oanda.com/currency/historical-rates/" ●●●
0.785
●
"" ●
"" ●●
●
●
●
"EndDate","USDEUR","","","",""
0.775
●●
●
●●●
"2014-10-05","0.7990",,,,
● ●●●
●●●
●●
"2014-10-04","0.7935",,,, 0 5 10 15 20 25 30
"2014-10-03","0.7908",,,, Índice
1 > OA = read . csv (" historicOANDA . csv " , skip =4)
2 > View ( OA )
3 > names ( OA )
4 [1] " EndDate " " USDEUR " "X" "X .1 " "X .2 " "X .3 "
5 > OA = subset (OA , select = c(" EndDate " ," USDEUR "))
6 > OA $ EndDate = as . Date ( OA $ EndDate )
7 > head (OA , n = 2)
8 EndDate USDEUR
9 1 2014 -10 -05 0.7990
10 2 2014 -10 -04 0.7935
11 > EU <- ts ( OA $ USDEUR , start (2014 ,1) , frequency =1)
12 > plot (EU , ylab = " Tasa de cambio USD EU " , xlab = 'Í ndice ')
Lectura de datos: read.csv2
1 > CARS = read . csv2 (" mtcars . csv ")
2 > head ( CARS , n = 3)
3 X mpg cyl disp hp drat wt qsec vs am gear carb
4 Mazda RX4 21.0 6 160 110 3.90 2.62 16.46 0 1 4 4
5 RX4 Wag 21.0 6 160 110 3.90 2.87 17.02 0 1 4 4
6 Datsn 710 22.8 4 108 93 3.85 2.32 18.61 1 1 4 1
7 > attach ( CARS )
8 > unique ( carb )
9 [1] 4 1 2 3 6 8
10 > plot ( hp ~wt , typ ="n")
11 > text ( hp ~wt , labels = carb , col = carb , cex =2)
Lectura de datos: read.csv2
300
"Hornet 4 Drive";21,4;6;258;110;3,08;3,215;19,44;1;0;3;1
4
250
1 > CARS = read . csv2 (" mtcars . csv ")
4 4
4
2 > head ( CARS , n = 3) 4
4
200
X mpg cyl disp hp drat wt qsec vs am gear carb
hp
3
1 > install . packages ( ' xlsx ') # Una vez
2 > library ( xlsx ) # Por cada sesi ón
3 > EUS = read . xlsx (" EUStock . xlsx " , sheetIndex =1)
4 > head ( EUS )
5 NA . DAX SMI CAC FTSE
6 1 1 1628.75 1678.1 1772.8 2443.6
7 2 2 1613.63 1688.5 1750.5 2460.2
8 ...
9 6 6 1610.61 1671.6 1714.3 2466.8
10 > mean ( EUS $ DAX )
11 [1] 2530.657
P Práctica: SUDEBAN