Вы находитесь на странице: 1из 42

NDICE

1. INTRODUCCIN......................................................................................................................................3
# La ayuda en R.........................................................................................................................................................4
2. VECTORES.................................................................................................................................................4
# Operaciones aritmticas...................................................................................................................4
# Operaciones logartmicas.................................................................................................................4
# Funciones trigonomtricas..............................................................................................................4
# Otras funciones matemticas........................................................................................................5
# Operaciones de redondeo................................................................................................................5
# Operaciones de extremos.................................................................................................................5
# Operaciones acumulativas...............................................................................................................5
# Innitos ! no n"meros........................................................................................................................5
# Operadores de comparaci#n$.........................................................................................................5
# Operadores l#gicos$.............................................................................................................................5
# Operaciones de con%untos$..............................................................................................................5
# Ordenaci#n de vectores.....................................................................................................................6
# &eneraci#n de sucesiones................................................................................................................6
# &eneraci#n de secuencias aleatorias........................................................................................6
# Funciones estadsticas.......................................................................................................................6
# 'ectores con nom(res........................................................................................................................7
# )cceso a los elementos de un vector........................................................................................7
# *odicar los elementos de un vector.......................................................................................7
# Funciones +,ic,.....................................................................................................................................7
# 'ectores de caracteres......................................................................................................................7
Ms en: http://www.endmemo.com/program/R/.......................................................................................................9
3. Factores - DATOS EN CATEGORAS...........................................................................................10
# Discreti-ar datos..................................................................................................................................10
4. SERIES TEMPORAES.......................................................................................................................11
!. PA"UETES DE R...................................................................................................................................11
#. ISTAS.......................................................................................................................................................12
$. MATRICES................................................................................................................................................12
# )cceso a los datos de una matri-.............................................................................................13
# *atrices de ndices.............................................................................................................................13
# Operaciones aritmticas con matrices...................................................................................13
# /esoluci#n de sistemas de ecuaciones lineales$.............................................................14
# )utovalores ! autovectores..........................................................................................................14
# Concatenaci#n de matrices$..........................................................................................................14
# 0a funci#n appl!...................................................................................................................................14
# 0a funci#n arra!12................................................................................................................................15
%. MARCOS DE DATOS &DATA FRAMES'.......................................................................................1
(. PROGRAMACIN EN R ) OPERACIONES DE APICACIN SIMUT*NEA DE
FUNCIONES........................................................................................................................................................1!
# Denici#n de funciones$..................................................................................................................16
# 0a familia appl!....................................................................................................................................18
+,. ECTURA DE MARCOS DE DATOS DESDE FIC-EROS................................................1"
# 3rimer formato de c,ero 14542$...............................................................................................18
# 6egundo formato de c,ero 1C6' 7 versi#n inglesa2$...................................................19
# 6egundo formato de c,ero 1C6' 7 versi#n espa8ola2$...............................................19
# 4ercer formato de c,ero 15062.................................................................................................20
11. GUARDAR ) EER DATOS.........................................................................................................21
+2. E.PORTAR DATOS........................................................................................................................21
13. ATRI/UTOS DE O/0ETOS...........................................................................................................22
# )tri(utos intrnsecos$ modo ! longitud.................................................................................22
# )tri(utos no intrnsecos de un o(%eto....................................................................................24
+4. MANE0O DE DATOS.......................................................................................................................2
# *ane%o de datos$ /ecodicaci#n de una varia(le...........................................................25
# *ane%o de datos$ Clculo de nuevas varia(les.................................................................25
# *ane%o de datos$ Filtrado de datos.........................................................................................26
+!. RES1MENES NUM2RICOS........................................................................................................2!
# 4a(las de frecuencias para varia(les categ#ricas..........................................................26
# *edidas de locali-aci#n9 dispersi#n ! forma para v(les cuantitativas cont.. 26
+#. EEMENTOS GRAFICADORES EN R.....................................................................................2"
# Disposici#n de una grca.............................................................................................................29
# &rcos de alto nivel........................................................................................................................30
# &rcos de (a%o nivel.......................................................................................................................31
1
# Funciones interactivas.....................................................................................................................31
# )lgunos 3armetros para &racar en /................................................................................31
# Con%untos de datos.............................................................................................................................32
+$. GR*FICOS ESTADSTICOS UNIVARIANTES.....................................................................33
# Diagrama de (arras...........................................................................................................................33
# Diagrama de puntos..........................................................................................................................34
3)0E4)6 DE CO0O/E6............................................................................................................................35
# Diagrama de dispersi#n...................................................................................................................35
# Diagrama de ca%a ! (igote.............................................................................................................35
# :istograma..............................................................................................................................................36
# &rco de densidad...........................................................................................................................37
+%. GR*FICOS ESTADSTICOS /IVARIANTES.........................................................................3"
+(. GR*FICOS TRIDIMENSIONAES............................................................................................3"
2,. M1TIPE GR*FICOS POR P*GINA......................................................................................3"
2+. GR*FICOS DE SERIES TEMPORAES..................................................................................3"
22. DISTRI/UCIONES DE PRO/A/IIDAD................................................................................39
23. MUESTREO AEATORIO.............................................................................................................39
24. PRUE/AS DE NORMAIDAD....................................................................................................40
# *ediante el clculo de los estadsticos de simetra 1s;e+ness2 ! de
apuntamiento 1;urtosis2......................................................................................................................40
# *ediante los grcos$ :istogramas9 diagrama de ,o%as ! ramas 1stem2 o
grco de normalidad 1<<norm2.....................................................................................................40
# *ediante test estadsticos............................................................................................................41
=. IN4/OD>CCI?N
R es un entorno integrado de programas para manipulacin de
datos, clculo y grfcos.
R es un lenguaje de expresiones con una sintaxis muy simple.
Distingue entre maysculas y minsculas.
Las rdenes elementales consisten en:
Expresiones (se eala, se imprime y su alor se pierde!
)signaci#n (eala una expresin, no la imprime y guarda
su alor en una "le.! (#perador asignacin $ %&$!
'i al terminar una l(nea la orden no est sintcticamente
completa, R mostrar un signo de continuacin el la siguiente
l(nea $ ) $.
Las rdenes se separan mediante $ * + o un cam"io de l(nea. , se
pueden agrupar mediante llaes $ - $ y $ . $.
# &/ indica un comentario 0asta el fnal de la l(nea
Las entidades 1ue R crea y manipula se denominan o"jetos. 2stos
pueden ser "les, "les indexadas, cadenas, 3unciones u otras
estructuras ms complejas. Las clases de o"jetos ms comunes
son:
vector el tipo "sico
arra! generali4acin multidimensional de ector
factor representan datos categricos
lista ectores de elementos no 0omog5neos
,o%a de datos (data 3rame! estructuras matriciales. 6ada
columna puede ser de un tipo di3erente
funci#n ya sea de R, de un pa1uete o defnida por el
usuario
Listado de o"jetos ls(),objects()
7orrado de o"jetos rm(obj1 [, obj2, ... , objn])
rm(list = ls()) # borrar todo del
workspace
8
La 3uncin set+d(! permite cam"iar el directorio donde estamos
tra"ajando (9or:ing directory!. ;ay 1ue tener en cuenta 1ue los
datos se guardarn en ese directorio. , get+d(! indica cul es el
actual directorio de tra"ajo.
La 3uncin save(! nos permite almacenar arios o"jetos, por
ejemplo, una o arias 0ojas de datos, en arc0ios para poder
utili4arlos con posterioridad.
save(Datos.Pruebas,file!Pruebas."Data!)
<odemos indicar el fc0ero a cargar mediante la entana
='eleccionar arc0io=
ruta %& le.c,oose(!
>ediante la 3uncin load(!, recuperamos la 0oja de datos:
load(!Pruebas."Data!) # load(ruta)
'upongamos 1ue estamos dentro del directorio de tra"ajo
correcto (o eso pensamos! y 1ueremos er el nom"re de los
arc0ios de ese directorio. ?an slo tenemos 1ue ejecutar dir(! y
nos saldrn todos los arc0ios del directorio.
'in em"argo, si slo 1ueremos sa"er el nom"re de los arc0ios
del directrorio 1ue son arc0ios de datos de R, escri"iremos
dir(pattern!."Data!) o dir(pattern!.rda!). 6on la opcin
pattern le estamos pidiendo slo los arc0ios 1ue incluyan en su
nom"re la expresin 1ue corresponde con las extensiones de los
arc0ios de datos de R, .RData y .rda.
@ Aom"res para los o"jetos
Los nom"res lidos para un o"jeto son com"inaciones de
letras, nmeros y el punto (B.C!. Los nom"res no pueden
empe4ar con un nmero.
R es Bcase&sensitieC: x DE F.
;ay nom"res reserados (B3unctionC, Bi3C, etc.!.
#tras consideraciones:
o Gl uso del B.C es distinto del de 6)).
o >ejor eitar nom"res 1ue R usa (ej., BcC! (se puede
arreglar!.
$ c %& '( ) %& c(*, +)( c
$ r,(c)( c
o Las asignaciones se 0acen con =%&= y se
recomiendan los espacios. Gl signo =E= se resera
para los argumentos de las 3unciones.
$ )%&1-. # /stilo incorrecto
$ ) %& 1-. # 0uc1o ,ejor
@ La ayuda en R
,elp(B%3uncin/C!
,elp.start(! &/ >uestra 1 pg d ayuda en 1 naegador de
Hnternet
6on 0elp.start((ro+ser @ AexplorerB! especifca el
naegador a usar.
apropos (B%3uncin/C! &/ <ermite "uscar por nom"re
,elp.searc,(B%3uncin/C! &/ 7usca por nom"re y
descripcin
search()
'alir de R &/ 3uncin <
>s en:
0ttp:II999.uam.esIpersonalJpdiIcienciasIjoserIpaginaR.0tml
K
'EC4O/E6
@ 6oleccin ordenada de elementos del mismo tipo.
@ c en realidad concatena ectores
a %& c(1,2,*)
v' %& c(a,2,a)
v'
@ Gn las operaciones aritm5ticas con ectores el ector ms corto
se recicla
# Operaciones aritmticas
1elp(!3!)
@ Lunciones: C (suma!, 7 (resta!, D (multiplicacin!, E (diisin!,
@ F (exponenciacin!, GG (resto diisin entera!,
@ GEG (cociente diisin entera!.
# Operaciones logartmicas
1elp(!lo4!)
@ Lunciones: log (logaritmo natural!, log=H (logaritmo en "ase
1M!,
@ logI (logaritmo en "ase 8!, log( (logaritmo en cual1uier
@ "ase!, log=p (calcula log(1)x! con precisin para
@ NxN %% 1!, exp (3uncin exponencial!, expm= (calcula
@ exp(x!&1 con precisin para NxN %% 1!.
e)p(2.222221)&1
e)p,1(2.222221)
# Funciones trigonomtricas
1elp(!5ri4!)
@ Lunciones: cos (coseno!, sin (seno!, tan (tangente!,
@ acos (arcocoseno!, asin (arcoseno!, atan
(arcotangente!,
@ atanI (atan8(y,x! es el ngulo entre el eje x y el ector
@ del origen al punto (x,y!!.
@ Aota: los ngulos son en radianes.
# Otras funciones matemticas
1elp(!abs!)
@ Lunciones: a(s (alor a"soluto!, s<rt (ra(4 cuadrada!.
# Operaciones de redondeo
1elp(!round!)
@ Lunciones: ceiling (redondeo 0acia arri"a!, Joor (redondeo
0acia
@ a"ajo!, round (redondeo al ms cercano!, signif
(redondeo
@ al nmero de d(gitos signifcatios especifcado!, trunc
@ (eliminar decimales!.
# Operaciones de extremos
1elp(!,a)!)
@ Lunciones: max (mximo!, min (m(nimo!, pmax (mximo
paralelo!,
@ pmin (m(nimo paralelo!.
,a)(6,7)
p,a)(6,7)
# Operaciones acumulativas
1elp(!sum!)
1elp(!prod!)
1elp(!cu,su,!)
@ Lunciones: cumsum, cumprod, cummax, cummin (suma,
producto, mximo y m(nimo acumulatios!
su,(7)
prod(7)
cu,su,(7)
cu,prod(7)
cu,,in(c(6,7))
cu,,a)(c(6,7))
# Infnitos y no nmeros
pi
pi 8 2 # 9nfinito positivo
&pi 8 2 # 9nfinito ne4ativo
O
2 8 2 # :o es un n;,ero
182 3 182 # 9nfinito
182 & 182 # :o es un n;,ero
# Operadores de comparacin:
@ Palores lgicos: 4/>E o 4, F)06E o F
1elp(!%!)
@ Lunciones: K, L, K@, L@, @@, M@
w %& c(2, 7, ')
w 6
# Operadores lgicos:
1elp(!<!)
@ Lunciones: M (negacin!, N (conjuncin!, O (disyuncin!,
@ xor (disyuncin exclusia!.
Las 3ormas QQ, NN se ealan de i41uierda a derec0a, examinando
slo el primer elemento de cada ector (si decide!. 'e suelen usar
dentro de instrucciones Bi3C.
w < 6
<(w 6)
# Operaciones de conuntos:
1elp(!union!)
1elp(!=in=!)
@ Lunciones: union (unin!, intersect (interseccin!,
@ setdiP (di3erencia de conjuntos!, sete<ual (igualdad de
@ conjuntos!, is.element (pertenencia, id5ntico a RinR!,
@ matc, (posiciones en un ector!.
conj1 %& c(1,2,*,')
conj2 %& c(*,',.)
conj* %& c(2,',*,1)
union(conj1,conj2)
intersect(conj1,conj2)
setdiff(conj1,conj2)
sete>ual(conj1,conj2)
sete>ual(conj1,conj*)
is.ele,ent(2,conj1)
is.ele,ent(c(2,?,',+),conj1)
,atc1(c(2,1),conj*)
# Ordenacin de vectores
0elp(=ran;=! !evuelve un vector con las posiciones "ue ocupara
cada elemento del vector si estuviera ordenado
rank(c(2,&2,2)) &$ [1] * 1 2
rank(c(2,&2,2,2)) &$ [1] *.. 1.2 2.2 *..
rank(c(2,&2,2,2,2)) &$ [1] ' 1 2 ' '
1elp(!order!) !evuelve un vector con las posiciones "ue
ocupara cada elemento del vector si estuviera ordenado #sus
valores a$solutos% sin signo&
order(c(2,&2,2)) &$ [1] 2 * 1
order(c(2,&2,2,2)) &$ [1] 2 * 1 '
order(c(2,&2,2,2,2)) &$ [1] 2 * 1 ' .
1elp(!sort!) !evuelve un vector ordenado% por defecto
crecientemente'
@ Lunciones: sort (ordenar!, is.unsorted (predicado de no
ordenado!
is.unsorted(9!
sort(w) # order 6 sort ad,iten decreasin4 5"@/.
sort(w,decreasin45)
1elp(!rev!) !evuelve un vector con los mismos elementos en
posiciones invertidas
$ rev(c(., 1, +, *)) &$ [1] * + 1 .
# (eneracin de sucesiones
@ Gl operador :
1-12 &$ [1] 1 2 * ' . ? A + B 12
1.-11 &$ [1] 1. 1' 1* 12 11
1-12&1 &$ [1] 2 1 2 * ' . ? A + B
1-(12&1) &$ [1] 1 2 * ' . ? A + B
S
@ La 3uncin se<
1elp(!se>!)
se>(12) &$ [1] 1 2 * ' . ? A + B 12
se>(*,12) &$ [1] * ' . ? A + B 12
se>(1,12,b6*) &$ [1] 1 ' A 12
se>(1,12,b6') &$ [1] 1 . B
se>(1,12,len4t1*)&$ [1] 1.2 ... 12.2
se>(w) # Cucesi#n de 1 1asta la lon4itud de w
@ La 3uncin rep replica los elementos de un ector
1elp(!rep!)
rep(1-', 2) &$ [1] 1 2 * ' 1 2 * '
rep(1-', eac1 2) &$ [1] 1 1 2 2 * * ' '
rep(1-', c(2,2,2,2)) &$ [1] 1 1 2 2 * * ' '
rep(1-', c(2,1,2,1)) &$ [1] 1 1 2 * * '
rep(1-', len4t1.out ?)&$ [1] 1 2 * ' 1 2
rep(1-', eac1 2, len ') # Dos no,bres de las opciones
se pueden abreviar
rep(1-', eac1 2, len 12)
# (eneracin de secuencias aleatorias
$ sa,ple(.) # Per,utaciones aleatorias [1] * . 2 ' 1
$ sa,ple(., *) # Eariaciones aleatorias &$ [1] 2 ' *
$ ) %& 1-12
$ sa,ple()) &$ [1] . * + B 12 A 2 ? 1 '
$ sa,ple(), replace 5"@/)
$ sa,ple(), len4t1 2F len4t1()), replace 5"@/)
$ probs %& )8su,())
$ sa,ple(), prob probs)
# Ci,ulaci#n de tiradas de un dado
sa,ple(1-?, 12, replace 5) # Gon ree,pla7a,iento
sa,ple(1-?, 12, replace 5,
prob c(rep(1811, .), ?811)) # Dado car4ado
Ameros aleatorios: rDistri"ucin(n,parmetros!
$ rnor,(12) # rnor,(12, ,ean 2,sd 1)
$ runif(+,,in2,,a)12)
# Funciones estadsticas
summary(w)
0elp(=mean=!
mean(w) # 0edia
,ean(w,tri,2.2) # 0edia recortada
1elp(!,edian!)
median(w) # 0ediana
1elp(!>uantile!)
quantile(w) # Guantiles (o percentiles)
>uantile(w,se>(2,122,b612)8122)
1elp(!sd!)
1elp(!var!)
sd(w) # Desviaci#n tHpica
var(w) # Earian7a
sd(w)I2
sd(w)I2 var(w)
all.equal(sd(w)I2,var(w)) # Go,parador con una li4era
tolerancia
all.e>ual(sd(w),var(w))
1elp(!9J"!)
IQR(w) # "an4o intercuartHlico
1elp(!ran4e!)
range(w) # "an4o (,Kni,o 6 ,H)i,o)
ran4e(),6,7,w)
# )ectores con nom$res
ventas %& c('.,'*,'?,'+,.1)
names(ventas) &$ [1] :@DD
na,es(ventas) %& c(!Dun!,!0ar!,!0ie!,!Lue!,!Eie!)
ventas &$ [1] Dun 0ar 0ie Lue Eie
'. '* '? '+ .1
# *cceso a los elementos de un vector
@ >ediante un ector lgico
ventas $ '. &$ [1] Dun 0ar 0ie Lue Eie
MNDC/ MNDC/ 5"@/ 5"@/ 5"@/
ventas[ventas $ '.] &$ [1] 0ie Lue Eie
T
'? '+ .1
@ >ediante un ector de enteros positios
ventas[c(*,',.)] &$ [1] 0ie Lue Eie
'? '+ .1
@ >ediante un ector de enteros negatios
ventas[&c(1,2)] &$ [1] 0ie Lue Eie
'? '+ .1
@ >ediante un ector de cadenas de caracteres
ventas[c(!0ie!,!Lue!,!Eie!)] &$ [1] 0ie Lue Eie
'? '+ .1
# +odifcar los elementos de un vector
length(ventas) # Don4itud del vector
ventas[.] %& .2
ventas[&c(1,2)] # Juita las posiciones 1 6 2
ventas[&c(1,2)] %& c('.,'A,'B)
ventas
ventas[&1] %& c('.,'?)
ventas
ventas[ventas $ '.] %& ventas[ventas $ '.]&1
ventas
ventas[c(!Dun!,!0ie!,!Eie!)] %& .2
ventas
ventas[?] %& .2
ventas
na,es(ventas)[?] %& !Cab!
ventas
ventas[+] %& '2
ventas # :N es el objeto :o Disponible (:ot Nvailable)
# Funciones ,-ic-
ventas $ '.
which(ventas $ '.)# Devuelve las posiciones de los
ele,entos 5"@/ de un vector l#4ico
w1ic1.,a)(ventas) # Posici#n del pri,er ,K)i,o
w1ic1.,in(ventas) # Posici#n del pri,er ,Hni,o
# )ectores de caracteres
@ La 3uncin paste concatena cadenas:
$ paste(c(!a!, !b!), c(!c!, !d!)) &$ [1] !a c! !b d!
$ paste(c(!a!, !b!, !c!, !d!), c(!e!, !f!), !4!) &$
[1] !a e 4! !b f 4! !c e 4! !d f 4!
$ paste(c(!a!, !b!, !c!, !d!), 1-', sep !&!) &$
[1] !a&1! !b&2! !c&*! !d&'!
$ paste(c(!a!, !b!, !c!, !d!), 1-', sep !&!, collapse !
!) &$ [1] !a&1 b&2 c&* d&'!
@ La 3uncin outer aplica una misma 3uncin a pares de
elementos:
$ outer(c(1, 2), 1-') # Por defecto ,ultiplica.
[,1] [,2] [,*] [,']
[1,] 1 2 * '
[2,] 2 ' ? +
$ outer(c(1, 2), 1-', M@: !3!)
[,1] [,2] [,*] [,']
[1,] 2 * ' .
[2,] * ' . ?
$ outer(c(!a!, !b!, !c!, !d!), 1-*, M@: !paste!)
[,1] [,2] [,*]
[1,] !a 1! !a 2! !a *!
[2,] !b 1! !b 2! !b *!
[*,] !c 1! !c 2! !c *!
[',] !d 1! !d 2! !d *!
@ Gjemplo de simulacin so"re una "araja espaUola
$ baraja %& outer(c(!N!, 2-12, !C!, !G!, !"!), c(!O!, !G!,
!/!, !P!), M@: !paste!)
$ baraja
[,1] [,2] [,*] [,']
[1,] !N O! !N G! !N /! !N P!
[2,] !2 O! !2 G! !2 /! !2 P!
[*,] !* O! !* G! !* /! !* P!
[',] !' O! !' G! !' /! !' P!
[.,] !. O! !. G! !. /! !. P!
[?,] !? O! !? G! !? /! !? P!
[A,] !A O! !A G! !A /! !A P!
[+,] !+ O! !+ G! !+ /! !+ P!
[B,] !B O! !B G! !B /! !B P!
[12,] !12 O! !12 G! !12 /! !12 P!
[11,] !C O! !C G! !C /! !C P!
[12,] !G O! !G G! !G /! !G P!
V
[1*,] !" O! !" G! !" /! !" P!
$ sa,ple(baraja, .) # /le4ir . cartas
[1] !G /! !N P! !+ G! !C G! !. P!
@ Gjemplo de simulacin de tiradas de dos dados
$ dados %& outer(1-?, 1-?, M@: !paste!)
$ dados
[,1] [,2] [,*] [,'] [,.] [,?]
[1,] !1 1! !1 2! !1 *! !1 '! !1 .! !1 ?!
[2,] !2 1! !2 2! !2 *! !2 '! !2 .! !2 ?!
[*,] !* 1! !* 2! !* *! !* '! !* .! !* ?!
[',] !' 1! !' 2! !' *! !' '! !' .! !' ?!
[.,] !. 1! !. 2! !. *! !. '! !. .! !. ?!
[?,] !? 1! !? 2! !? *! !? '! !? .! !? ?!
$ sa,ple(dados, 12, replace 5) # "eali7ar 12 tiradas
[1] !2 ?! !1 2! !? *! !2 *! !1 2! !1 '! !1 '! !? 1! !1 .! !2
1!
#tro ejemplo
$ colu,na.a %& D/55/"C[1-.]( colu,na.b %& 12-1.
$ colu,na.a( colu,na.b
[1] !N! !P! !G! !D! !/!
[1] 12 11 12 1* 1' 1.
$ juntar %& paste(colu,na.a, colu,na.b, sep !!)
$ juntar
[1] !N12! !P11! !G12! !D1*! !/1'! !N1.!
$ ) %& paste(D/55/"C[1-.], collapse!!)
$ )
[1] !NPGD/!
Gxtraer una su"cadena
$ substr(!abcdef!,2,') &$ [1] !bcd!
$ )%&!abcdef!
$ substr(), *, .) %& c(!uv!)
$ ) &$ [1] !abuvef!
#tras 3unciones de manipulacin de caracteres: nc1ar, 4rep,
,atc1, p,atc1, tolower, toupper, sub, 4sub, re4e)pr.
s %& !/nd0e,o.co, " Dan4ua4e 5utorial!
substr(s,2,A) # Devuelve [1] !/nd0e,o!
#"tener la longitud de una cadena:
nchar(s) # Devuelve [1] *1
6onertir a maysculas:
) %& toupper(s)
) # Devuelve [1] !/:D0/0O.GO0 " DN:Q@NQ/ 5@5O"9ND!
6onertir a minsculas:
) %& tolower(s)
) # Devuelve [1] !end,e,o.co, r lan4ua4e tutorial!
Diidir la cadena en la letra =o=:
) %& strsplit(s,!o!)
) # Devuelve [[1]]
[1] !/nd0e,! !.c! !, " Dan4ua4e 5ut! !rial!
6oncatena dos cadenas:
) %& paste(),! && Ctrin4 Munctions!,sep!!)
) # Devuelve [1] !end,e,o.co, r lan4ua4e tutorial && Ctrin4
Munctions!
Reempla4a su"cadenas:
) %& sub(!5utorial!,!/)a,ples!,s)
) # Devuelve [1] !/nd0e,o.co, " Dan4ua4e /)a,ples!
>s en: 0ttp:II999.endmemo.comIprogramIRI
grep(value = F!"#) deuele un ector de posiciones de las
cadenas de x 1ue contienen la su"cadena indicada
str %& c(!"e4ular!, !e)pression!, !e)a,ples of " lan4ua4e!)
) %& 4rep(!e)!,str,valueM)
) # Devuelve [1] 2 *
grep(value = $R%#) deuele un ector de las cadenas de x 1ue
contienen la su"cadena indicada.
W
) %& 4rep(!e)!,str,value5)
) # Devuelve [1] !e)pression! !e)a,ples of " lan4ua4e!
grepl deuele un ector lgico (indicando los elementos 1ue
contienen o no la su"cadena!.
x %& grepl(=ex=,str!
x @ Deuele X1Y LZL'G ?R[G ?R[G
\
I. Factores 7 D)4O6 EN C)4E&O/)6
[n factor es un ector utili4ado para especifcar una clasifcacin
discreta de los elementos de otro ector de igual longitud (tipo de
ector para datos cualitatios!. Gn R existen factores nominales
#funcin factor& y factores ordinales #funcin ordered&.
Zntes de utili4ar un ector con caracteres ("le. cualitatia!
dentro de un anlisis, 0ace 3alta conertirlo en un 3actor. Gn caso
contrario, R protesta.
6 %& rnor,(12)( ) %& rep(letters[1-.], 2)
aov(6 R )) # <error<
aov(6 R factor())) # funciona
Lunciones:
factor codifca un ector como un 3actor* es decir, clasifca
sus elementos en distintas categor(as.
levels permite manejar (incluso renom"rar! los nom"res
de las distintas categor(as de un 3actor.
nlevels podemos sa"er cuntas categor(as contiene un
3actor.
'i se puede considerar un orden entre las categor(as de un
3actor, entonces 0ay 1ue usar la 3uncin ordered para
crearlo. Gn este caso, con el argumento 3e4e3s podemos
esta"lecer el orden inicial entre las categor(as.
Gj.: 3actor.cigarrillos %&
ordered(ect.cigarrillos, leels E c(=<ocos=, =7astantes=,
=>uc0os=!!
cut, diide el rango de una "le cuantitatia en interalos
y clasifca sus elementos dependiendo de a 1u5 interalo
pertenecen. >ediante el argumento 5rea6s
proporcionamos los extremos de los interalos. , mediante
el argumento 78c39:e.3o;est indicamos si un elemento
igual al extremo i41uierdo del primer interalo de"e o no
incluirse.
Gj.:
gl permite crear 3actores 1ue siguen un patrn repetitio.
'intaxis:
gl(nmero de grupos, eces 1ue se repiten, longitud del
resultado!
gl(K, 8! &/ X1Y 1 1 8 8 K K
Leels: 1 8 K
gl(K, 8, 18! &/ X1Y 1 1 8 8 K K 1 1 8 8 K K
Leels: 1 8 K
ta(le crea ta"las de contingencia
La ta"ulacin cru4ada de dos aria"les cualitatias se
consigue con la 3uncin ta"le.
$ table(se)o,nivel)
<ero para introducir una ta"la de contingencia tam"i5n se
utili4a la instruccin ta"le. Las aria"les se defnen con sus
modalidades con la instruccin expand.grid(ar1,ar8!.
$ resultado %&
cbind(e)pand.4rid(califc(!,ejor!,!peor!,!i4ual!),
3 trata,c(!N!,!P!)))
$ frec %& c(21,*',.,A,12,1')
$ tabla %& table(calif,trata,)Ffrec
$ tabla
tappl! permite aplicar de 3orma simultnea una misma
operacin a distintos grupos de elementos de un ector
clasifcados en 3uncin de las categor(as esta"lecidas por
un 3actor.
# !iscreti.ar datos
La 3uncin split(x,3!
$ split(peso,trat)
$ split(peso,trat)SN
La 3uncin cut
$ vv %& rnor,(122)
$ cut1 %& cut(vv, .)
$ table(cut1)
$
1M
$ cut2 %& cut(vv, >uantile(vv, c(2, 18', 182, *8', 1)))
$ su,,ar6(cut2)
$ class(cut2)
Q. 6E/IE6 4E*3O/)0E6
[na serie temporal es una sucesin de o"seraciones 1ue se
encuentran ordenadas en el tiempo.
Lunciones:
ts permite crear un o"jeto serie&temporal 1ue guarda los
conjuntos de o"seraciones reali4adas en cada unidad de
tiempo. Z tra5s de los parmetros start y end podemos
especifcar en 1u5 unidad de tiempo empie4a yIo termina la
sucesin de o"seraciones.
R. 3)S>E4E6 DE /
Gs posi"le extender R a tra5s de pa1uetes.
R consta de un sistema "ase pero la mayor(a de las 3unciones
estad(sticas ienen agrupadas en pa1uetes. Gstos se clasifcan en
tres grupos:
Los 1ue 3orman parte del sistema (ase y estarn en
cual1uier instalacin
<a1uetes recomendados: aun1ue no 3orman parte del
sistema "ase se aconseja su instalacin
#tros pa1uetes desarrollados por inestigadores de todo el
mundo para tareas o m5todos de lo ms dierso. Destacan
algunos de reas nueas como "ioin3ormtica,
geoestad(stica, m5todos grfcos, etc
Lunciones:
La 3uncin li(rar! muestra los pa1uetes disponi"les y
carga los pa1uetes especifcados.
Gj: li"rary(="oot=! @ 6argamos el pa1uete "oot
La 3uncin searc, muestra los pa1uetes cargados. Zl
iniciar R se cargan una serie de pa1uetes por de3ecto.
<ara descargar un pa1uete "asta usar la 3uncin detac,.
Gj.: detac0(=pac:age:"oot=!
11
T. 0I64)6
[na lista es una coleccin de o"jetos 1ue pueden ser de distintos
tipos y 1ue generalmente estn identifcados por un nom"re.
6ada componente puede ser de distinto tipo. 'on contenedores
generales de datos. >uy ]exi"les, pero sin estructura. >uc0as
3unciones deuelen una lista o conjunto de resultados de distinta
longitud y distinto tipo.
<ara crear una lista se utili4a la 3uncin list:
Dst %& list(1o,bre !Pedro!, ,ujer !0arHa!, casados
5"@/, n;,ero.1ijos *, edad.1ijos c(', A, B))
<ara o"tener los elementos de una lista se utili4a el operador U.
<ara o"tener una su"lista se utili4a el operador V, pudiendo
utili4arse para seleccionar los elementos los mismos cuatro tipos
de ectores 1ue se pueden utili4ar para seleccionar elementos de
un ector.
Dst[c(!1o,bre!, !n;,ero.1ijos!)]
Dst[c(5"@/, MNDC/, MNDC/, 5"@/, MNDC/)]
Dst[c(1, ')]
Dst[c(&2, &*, &.)]
Gjemplo 1ue muestra la di3erencia de 3uncionamiento.
DstSedad.1ijos &$ [1] ' A B
Dst[!edad.1ijos!] &$ Sedad.1ijos
[1] ' A B
W. *)4/ICE6
[na matri- es una coleccin de datos DGL >H'># ?H<# 1ue tiene
dos dimensiones.
Lunciones:
La 3uncin matrix crea una matri4. Los elementos de la
matri4 se proporcionan mediante un ector y se colocan por
columnas.
Gj ,atri)(1-12, nrow 2, ncol .)
,atri)(1-12, nrow 2)
,atri)(1-12, ncol .)
,atri)(1-12) # da una ,atri7 de 1 colu,na
,atri)(1-*, nrow 2, ncol *) # Dos datos
proporcionados de reciclan 1asta co,pletar la ,atri7
,atri)(1-12, ',*) # da una ,atri7 de ' filas 6 *
colu,nas colocando los ele,entos por colu,nas
>ediante el argumento (!ro+ podemos 0acer 1ue los
elementos se colo1uen por flas (<or de3ecto, "yro9EL, e.d.
se colocan por columnas!
matrix1=$=H9 nro+ @ I9 ncol @ T9 (!ro+ @ 4/>E2
dim(&) da acceso a las dimensiones de la matri4
$ a %& 1-12
$ di,(a) %& c(',*) # Gonvierte el vector a en una
,atri7 de ' filas 6 * col.
nrow(0) # n;,ero de filas
ncol(0) # n;,ero de colu,nas
array(vector de datos,vector de di,ensiones)
Otra forma de crear una matri-
,a %& ,atri)(scan(), ', *,
b6row5) %/nter$
1- 1 . B %/nter$
'- 2 ? 12 %/nter$
A- * A 11 %/nter$
12- ' + 12 %/nter$
1*- %/nter$
"ead 12 ite,s
Da co,o
resultado
$ ,a
[,1] [,2] [,*]
[1,] 1 . B
[2,] 2 ? 12
[*,] * A 11
[',] ' + 12
18
< Acceso a 3os :atos :e 98a =atr7>.
Gl operador ^V_, al igual 1ue con los ectores, permite acceder a
los elementos de una matri4. La di3erencia es 1ue a0ora tenemos
1ue proporcionar dos su"(ndices.
0 %& ,atri)(1-1., nrow *, ncol .)
0[2, .]
0[., *] # Hndice fuera de ran4o
Las flas y columnas de las matrices pueden tener nom"res, lo
1ue permite seleccionar los elementos por el nom"re de la fla y
columna en 1ue se encuentre.
rowna,es(0)
rownames(&) '( c()uno)* )dos)* )tres))
$ a %& 1-122
$ ,a %& ,atri)(a, 22)
$ rownames(ma) '( rownames(ma* do.+%!!=F* pre,i-= )Fila.))
6rea un nom"re a todas las flas con el prefjo =Lila.=
colna,es(0)
colnames(&) '( c()uno)* )dos)* )tres)* )cuatro)* )cinco))
$ colnames(ma) '( paste()mes)* seq(.* dim(ma)/01)* sep=)))
6rea un nom"re a todas las columnas a tra5s de la instruccin
paste, donde
seq(.* dim(ma)/01) deuele : X1Y 1 8 K O S
dimnames(ma)'( list(+%!!* c(2enero3* 2,ebrero3* 2mar4o3)) 6on
esta instruccin no se le da ningn nom"re a las flas y se
eti1uetan las columnas.
6on el operador ^V_ tam"i5n es posi"le seleccionar su(matrices
de una matri4.
0[1,] # Da pri,era fila de 0
0[,*] # Da tercera colu,na de 0
0[c(1, 2), c(1, *, ')] # Da sub,atri7 de 0 for,ada por las
# filas 1 6 2 6 las colu,nas 1, * 6
# '
< Matr7ces :e ?8:7ces
9L1 %& ,atri)(c(1, 1, 1, ', 2, *), ncol 2, b6row 5)
9L1
0[9L1] # Dos ele,entos (1,1)&Tsi,o, (1,')&Tsi,o 6
#(2,*)&Tsi,o de 0
< O@erac7o8es ar7t=At7cas co8 =atr7ces
1.& La expresin se lee de i41uierda a derec0a.
8.& 6ual1uier ector se recicla repitiendo sus elementos 0asta 1ue
su tamaUo coincida con el del resto de operandos. 'i el ector es
de principio mayor 1ue una matri4, se produce un error.
K.& Las matrices de"en tener todas las mismas dimensiones.
v1 %& se>(1, 11, b6 2)( 01 %& ,atri)(v1, nrow 2)
v2 %& se>(2, 12, b6 2)( 02 %& ,atri)(v2, nrow 2)
0* %& ,atri)(v1, nrow *)
01 5 02 # Cu,a ele,ento a ele,ento. Das di,ensiones deben
coincidir
01 5 &1-&* # /l vector se recicla
01 5 &1-&A # /l vector es de,asiado 4rande
01 6 02 # 0ultiplicaci#n ele,ento a ele,ento
01 767 0* # 0ultiplicaci#n usual de ,atrices. Das di,ensiones
deben ser adecuadas
>s 3unciones:
t(01) @ La 3uncin t proporciona la matri- traspuesta. La
matri4 original (>1 ! no se modifca.
diag(01) @ )plicada a una matri-: ector con los
elementos de la diagonal
diag(1-*) @ Zplicada a un ector: matri- diagonal
diag(*) @ Zplicada a un nmero: matri- identidad de
dim K
det(01) @ Determinante de una matri4. La matri4 0a de ser
cuadrada
1K
< Reso39c7B8 :e s7ste=as :e ec9ac7o8es 378ea3esC
Goef %& ,atri)(1-', nrow 2, ncol 2)
Goef
9nd1 %& c(*, .)
9nd2 %& ,atri)(c(*, ., 1, 1), nrow 2, ncol 2)
solve(8oe,* Ind.) # "esuelve el siste,a Goef =F= ) 9nd
#(N)b)
solve(Goef, 9nd2)
solve(8oe,) # Devuelve la inversa de la ,atri7
solve(Goef) =F= Goef
Goef =F= solve(Goef)
svd(N) # Desco,posici#n en valores sin4ulares
>r(N) # Desco,posici#n J"
< A9to4a3ores D a9to4ectores
eigen(Goef)
ei4en(Goef, only.values 5"@/) @ 'i solo 1ueremos calcular los
autoalores. 6alcular los autoectores es lo ms costoso,
computacionalmente 0a"lando.
< Co8cate8ac7B8 :e =atr7cesC
01
02
di,(0*) %& c(*, 2)
0*
Lunciones B"indC (unir!
cbind(01, 02) @ 6oncatena las matrices por columnas. Las
matrices de"en tener el mismo nmero de flas. 'i concatena
ectores E/ cada ector pasa a ser una 6#L[>AZ de la matri4
resultante.
rbind(01, 02) @ 6oncatena las matrices por flas. Las matrices
de"en tener el mismo nmero de columnas. 'i concatena
ectores E/ cada ector pasa a ser una LHLZ de la matri4
resultante.
< a E98c7B8 a@@3D
La 3uncin appl! permite aplicar de 3orma simultnea una misma
operacin a todas las flas, columnas o elementos de una matri4.
appl6(), 0ar4en, Munci#n, N"Qs), donde x es la matri4, >ZR`GA
representa las flas si es E1, las columnas si es E8 las flas y las
columnas si es c(1,8!. L[A6HaA representa la 3uncin a aplicar, y
ZR`s son argumentos de la misma 3uncin.
appl6(01, 1, ,ean) # Galcula la ,edia de cada fila
appl6(01, 2, ,ean) # Galcula la ,edia de cada colu,na
6uando lo 1ue se 1uiere es sumar o calcular la media de los
elementos de las flas o columnas las siguientes 3unciones son
ms sencillas y efcientes.
$ 01
[,1] [,2] [,*]
[1,] 1 . B
[2,] * A 11
row"ums(01) &$ [1] 1. 21
col"ums(01) &$ [1] ' 12 22
row&eans(01)&$ [1] . A
col&eans(01)&$ [1] 2 ? 12
<or otra parte, la 3uncin ro+sum calcula, para cada columna de
la matri4, la suma de sus elementos agrupndolos preiamente
segn el 3actor especifcado.
0' %& ,atri)(1-122, nrow 22)
0'
4rupos.filas %& 4l(2, 1, 22)
4rupos.filas
1O
levels(4rupos.filas) %& c(!fila i,par!, !fila par!)
4rupos.filas
rowsu,(0', 4rupos.filas)
< a E98c7B8 arraD&'
[na aria"le indexada no slo puede construirse modifcando el
atri"uto dim de un ector, sino tam"i5n directamente mediante
la 3uncin arra!, 1ue tiene la 3orma
array(data=+* dim=length(data)* dimnames=+%!!)
donde: data: ector de datos 1ue rellenar el array
dim: nmero de flas y columnas
$ U %& arra6(vector de datos,vector de di,ensiones)
<or ejemplo, si el ector 0 contiene 8O nmeros (o incluso
menos!, la orden
$ U %& arra6(1, di,c(*,',2))
usa 0 para almacenar en b una aria"le indexada de dimensin K
x O x 8. 'i el tamaUo de 0 es exactamente 8O, el resultado
coincide con el de
$ di,(U) %& c(*,',2)
'in em"argo, si 0 es ms corto de 8O, sus alores se repiten
desde el principio tantas eces como sea necesario para o"tener
8O elementos. Gl caso extremo, muy comn, corresponde a un
ector de longitud 1, como en este ejemplo
$ U %& arra6(2, c(*,',2))
en 1ue b es una aria"le indexada compuesta enteramente de
ceros.
#tra 3orma de construir un array es:
) %& 1-?'
di,()) %& c(2,',+) # Gonvierte el vector en arra6 de * di,
is.arra6()) # Devuelve [1] 5"@/
1S
X. *)/CO6 DE D)4O6 1D)4) F/)*E62
[n marco de datos es una lista tal 1ue para muc0os propsitos
puede ser considerada como una matri4 cuyas columnas
posi"lemente son de distinto tipo. De esta 3orma, la lista 1ue
3orma el marco de datos de"e cumplir las siguientes restricciones:
Los componentes de"en ser ectores (num5ricos, de
cadenas o lgicos!, 3actores, matrices num5ricas, listas, u
otros marcos de datos.
Las matrices, listas y marcos de datos proporcionan tantas
aria"les al nueo marco de datos como columnas,
elementos o aria"les tengan, respectiamente.
Los ectores num5ricos y lgicos y los 3actores se incluyen
tal cual, y los ectores de cadenas se trans3orman a
3actores.
Las estructuras de ectores 1ue apare4can como aria"les
en el marco de datos de"en tener todos la misma longitud,
y las estructuras de matrices de"en tener todas el mismo
nmero de flas.
Atese 1ue en los data.3rame los Bc0aracter ectorsC de"en
conertirse en 3actores.
<odemos conertir matrices a data.3rame con as.data.frame(!.
Lunciones:
La 3uncin data.frame crea un marco de datos.
ro+names(%data.3rame/! permite manejar (incluso
renom"rar! los nom"res de las distintas flas de un marco
de datos.
colnames(%data.3rame/! permite manejar (incluso
renom"rar! los nom"res de las distintas columnas de un
marco de datos.
)cceso a los elementos como una matri-$ Dado el
marco de datos: estudio
peso altura sexo
>arta TS 1SM L
Hn5s T1 1KS L
cuan 1MM 81M >
6armen TS 1OM L
estudioX=>arta=, =peso=Y &/ Gl peso de >arta
estudioX, =peso=Y &/ La columna de pesos. Gs un ector.
estudioX=>arta=,Y &/ Los datos de >arta. Gs un marco de
datos.
estudioX1:8, 1:8Y &/ Gl peso y la altura de >arta e Hn5s. Gs
un marco de datos.
6ada fla de un marco de datos es una lista o un marco de
datos con una fla:
6 %& estudio [2,]
is.list(6) &$ [1] 5"@/
is.data.fra,e(6) &$ [1] 5"@/
)cceso a los elementos como una lista$
estudiodpeso &/ La columna de pesos. Gs un ector.
estudioXc(=peso=, =altura=!Y &/ Las columnas de pesos y
alturas. Gs un
marco de datos.
)cceso a los elementos usando las funciones attac,
! detac,$
attac,(estudio! &/ 6rea ectores (peso, altura y sexo! 1ue
permiten acceder directamente a los datos contenidos en
las columnas del marco de datos.
detac,(estudio! &/ Glimina los ectores creados con la
3uncin attac0
<ara 1ue la 3uncin attac0 opere correctamente es
necesario no 0a"er defnido ningn ector con el mismo
nom"re 1ue alguna de las columnas del marco de datos.
Zdems, 0ay 1ue tener en cuenta 1ue las modifcaciones
reali4adas a los ectores creados con la 3uncin attac0 no
a3ectan al marco de datos original.
'i desea seleccionar un su"conjunto de una 0oja de datos, puede
0acerlo con la 3uncin su"set. Luncin 1ue puede utili4ar tam"i5n en
ectores.
1T
8. 3/O&/)*)CI?N EN / Y O3E/)CIONE6 DE )30IC)CI?N
6I*>04ZNE) DE F>NCIONE6
< DeF87c7B8 :e E98c7o8esC
media.des %& function (! @ Los argumentos de la 3uncin se
escri"en
encerrados entre par5ntesis y separados por
comas
- med %& mean(!*. @ Gl cuerpo de la 3uncin se encierra entre
llaes. , si son
des %& sd(!* arias las operaciones a reali4ar se
separan con puntos
c(med, des!. y comas
6uando la 3uncin deuele el resultado, los o"jetos $med+ y $des+
dejan de estar defnidos.
Gstructuras de programacin: R permite crear estructuras
repetitias (loops! y la ejecucin condicional de sentencias.
Z este fn, los comandos pueden agruparse entre llaes,
utili4ando la siguiente sintaxis:
[comando= \ comandoI\ comandoQ \ ....]
Gl "ucle 3or: <ara crear un "ucle repetitio (un "ucle 3or!, la
sintaxis es la siguiente:
for 1i in listadevalores2 [ secuencia de comandos ]
Ao o"stante, los "ucles 3or son lentos en R (y en 'plus!, y
de"en ser eitados en la medida de lo posi"le.
Gl "ucle 90ile: La sintaxis es como sigue:
+,ile 1 condicion logica2 [ expresiones a e%ecutar ]
La ejecucin condicional i3: La sintaxis general es:
if 1condicion2 comando= else comandoI
)lcance de las varia(les. Las aria"les defnidas dentro
del cuerpo de una 3uncin son locales, y desaparecen al
terminar la ejecucin de la 3uncin. <or ejemplo:
$ 6 %& 12 # Defini,os la variable 6
$ cuadrado %& function())V 6 %& )I2 ( return(6)W #
Defini,os otra 6 local
$ )%&2 # Nsi4na,os valor a )
$ cuadrado()) # Galcula,os el cuadrado de ) - Ce 1ace
6' (local,ente)
[1] '
$ 6 # Cin e,bar4o, 6 no 1a ca,biado. Da 6
local desaparece
[1] 12
Funciones con un n"mero varia(le de argumentos.
Gn R es posi"le defnir 3unciones con un nmero aria"le de
argumentos. <ara ello, la sintaxis es:
f %& function(), ...) V cuerpo de la funci#n W
f %& function(...,)) V cuerpo de la funci#n W
Gn el primer caso, la 3uncin podr(a llamarse sin 0acer
re3erencia expl(cita a x (por ejemplo 3(8! !.
Gn el segundo caso de"er(amos especifcar 3(xE8!, dado
1ue el sistema, al encontrar primero los argumentos
aria"les, no podr(a sa"er si nos estamos refriendo a x o a
uno de los argumentos aria"les.
Pamos a poner un ejemplo en dos 3ases. Gn primer lugar, para
entender como 3unciona al tema, defniremos una 3uncin 1ue
simplemente deuele sus argumentos:
$ f%&function(...)V D %& list(...) ( return(D)W
$ f(1,2,*)
[[1]]
[1] 1
[[2]]
[1] 2
[[*]]
[1] *
1V
$ f(c(1,2),c(*,',.)) @ Zs( pues, tan "le es el ne de arg., como
el ne
[[1]] @ de elementos de cada uno.
[1] 1 2
[[2]]
[1] * ' .
Pamos a aproec0ar esta 3acilidad para defnir una 3uncin 1ue
deuela algunas medidas resumen de las distri"uciones 1ue se
le pasen como argumento. La entrada a la 3uncin ser una serie
de conjuntos de datos, y la salida la media, arian4a, m(nimo y
mximo de cada uno de los conjuntos.
f %& function(...)
V
datos %& list(...)
,edias %& lappl6(datos,,ean) # lapply aplica una funci#n
varian7as %& lappl6(datos,var)# sobre una lista
,a)i,os %& lappl6(datos,,a))
,ini,os %& lappl6(datos,,in)
for(i in 1-len4t1(datos))
V
cat(!Distribuci#n !,i,!- Xn!) # Da funci#n cat es para
visuali7ar cosas
cat(!,edia- !, ,edias[[i]], !varian7a- !, varian7as[[i]],
!,a)i,o- !,,a)i,os[[i]],!,ini,o- !,,ini,os[[i]],!Xn!)
cat(!&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Xn!)
W
W
Peamos un ejemplo sencillo:
$ f(c(1,2),c(1,*,.,A),c(&1,2,&.,?,B))
Distribuci#n 1 -
,edia- 1.. varian7a- 2.. ,a)i,o- 2 ,ini,o- 1
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Distribuci#n 2 -
,edia- ' varian7a- ?.?????A ,a)i,o- A ,ini,o- 1
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
Distribuci#n * -
,edia- 2.2 varian7a- *2.A ,a)i,o- B ,ini,o- &.
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
< a Ea=737a a@@3D.
6ada e4 1ue ayamos a usar un B"ucleC intentemossu"stituirlo
por algn miem"ro de 3amilia apply.
@ Las 3unciones sapply(F, 3uncin! y lapply(F, 3uncin! son como
apply(x,i,3uncin! #)er pg //& pero no 0ay 1ue especifcar el
(ndice iE1 (flas!,8 (columnas!.
Las 3unciones lappl! y sappl! aplican una misma 3uncin a cada
uno de los elementos de un ector o lista (esto incluye las
columnas de un marco de datos!. La 3uncin lapply siempre
deuele una lista con los resultados. La 3uncin sapply intenta
deoler el tipo de dato ms simple posi"le (la BsC es de
Bsimpli3yC!.
La 3uncin tappl!(x,y, 3uncin! calcula la 3uncin especifcada
so"re el o"jeto x segn las categor(as de y.
$ ) %& c(1B,1',1.,1A,22,2*,1B,1B,21,1+)
$ trat %& c(rep(!N!,.),rep(!P!,.))
$ ).,edia %& tappl6(),trat,,ean)
$ ).,edia
@ La 3uncin (! aplica una misma 3uncin a los su"marcos de
datos 3ormados por las flas del marco de datos dado como
entrada 1ue pertenecen a una misma categor(a del 3actor
especifcado.
>odo de uso:
b6(0N"GO D/ DN5OC, MNG5O", M@:G9Y:)
b6(0N"GO D/ DN5OC, D9C5N D/ MNG5O"/C, M@:G9Y:)
@ La 3uncin aggregate acta como tapply para cada columna
del marco de datos dado como entrada.
>odo de uso:
a44re4ate(0N"GO D/ DN5OC, D9C5N D/ MNG5O"/C, M@:G9Y:)
1W
9. 0EC4>/) DE *)/CO6 DE D)4O6 DE6DE FIC:E/O6
< Pr7=er Eor=ato :e FcGero &T.T'C
?odas las flas incluidas en el fc0ero tienen el mismo
nmero de elementos, 'ZLP# LZ <RH>GRZ, 1ue tiene un
elemento menos.
La primera fla contiene los nom"res de las aria"les del
marco de datos. Gl resto de flas contienen como primer
elemento el nom"re de la fla y como resto de elementos
los datos correspondientes.
Los datos estn separados por espacios en "lanco.
Gn los nmeros los decimales ienen indicados por un
punto.
Los alores desconocidos se expresan con AZ.
6uando un fc0ero de datos se encuentre escrito en el 3ormato
indicado arri"a, se utili4a la 3uncin read.ta(le para leerlo y
o"tener un marco de datos.
La 3uncin count.elds resulta de utilidad a la 0ora de
compro"ar si se cumplen las condiciones acerca del nmero de
elementos de la primera fla y de las restantes.
coc1es1 %& read.table(!coc1es.t)t!)
count.fields(!coc1es.t)t!)
'ea =l"9.cs= la 7D guardada en el 3ormato ?F?, entonces se
pordr cargar sus datos en R, indicndole adems 1ue consere
los nom"res de las aria"les, ejecutando el comando:
/ data= K7 read.csv1^C$EdataEl(+.txt^9 ,eader@42
/ attac,1data=2
'i 1ueremos editar algn dato de nuestro data.3rame =data1= no
es necesario oler a cargar los datos, pues puedo editarlo a
tra5s de la "arra de mens:
Gditar/Gditor de datos... e indicar el nom"re del marco de datos
1ue deseamos editar, en nuestro caso =data1C. # "ien,
ejecutando
$ ,i-(data.) el cual nos a"re una ta"la en la 1ue podemos editar
los datos del marco de datos cargado en memoria.
< SeH98:o Eor=ato :e FcGero &CSV - 4ers7B8 78H3esa'C
La primera fla contiene los nom"res de las aria"les del
marco de datos. Gl resto de flas contienen los datos
correspondientes.
Las flas 1ue tengan menos elementos 1ue la ms larga son
completadas con alores AZ.
Los datos estn separados por comas.
Gn los nmeros los decimales ienen indicados por un
punto.
Los alores desconocidos se expresan con AZ.
Gstos fc0eros se leen utili4ando la 3uncin read.csv, 1ue
proporciona un marco de datos.
'ea =l"9.txt= la 7D guardada en el 3ormato 6'P, entonces se
pordr cargar sus datos en R, indicndole adems 1ue consere
los nom"res de las aria"les, ejecutando el comando:
$ data0'( read.csv()89:data:lbw.csv)* header=$)
$ attach(data0)
[na alternatia para eitar poner la ruta completa del fc0ero en
el 1ue se encuentran los datos, el ir al fc0ero de origen,
seleccionar con el ratn el rango de datos 1ue se desea cargar en
R y copiarlo en el portapapeles (clip"oard!.
Linalmente, ejecutando el comando siguiente R leer el conjunto
de datos guardados en el portapapeles.
1\
$ data; '( read.table()clipboard))
# incluso, ejecutando el siguiente comando:
$ ruta '( ,ile.choose() @@ Z"re la entana ='eleccionar
arc0io= para coger la ruta del fc0ero a seleccionar. , a
continuacin, slo 0a"r 1ue ejecutar:
$ data<'( read.csv(ruta* header=$)
#tra 3uncin 1ue R utili4a para importar arc0ios de tipo texto es
read.ta"le.
read.table(archivo,headerMNDC/,sep!!,dec!.!,na.strings!:N
!)
Gn esta l(nea:
arc-ivo ser(a el nom"re del arc0io 1ue 1ueremos importar.
#pcionalmente, se puede importar desde el portapapeles,
en ese caso, el alor de"e ser =6lip"oard=.
-eader puede tomar el alor ?R[G, si sa"emos 1ue la
primera l(nea del arc0io (ca"ecera! contiene los nom"res
de las aria"les, o el alor LZL'G, si no lo 0ace.
sep se refere al carcter 1ue separa los datos. Gn nuestro
ejemplo son ta"ulaciones, luego de"eremos poner BftC. Gl
alor por de3ecto es ac(o, 1ue corresponde a uno o ms
espacios en "lanco o a ta"ulaciones.
dec se refere al carcter 1ue separa los nmeros
decimales. ;ay 1ue tener cuidado con 5l por1ue en espaUol
lo correcto es separar con comas, pero en el mundo
anglosajn lo es 0acerlo con puntos. De 0ec0o, el punto es
la opcin por de3ecto.
na'strings se refere al carcter 1ue en el arc0io original
identifca a los datos 3altantes. <or de3ecto, se supone 1ue
un dato 3altante aparecer como BAZC, pero podemos poner
cual1uier otro. 'i el dato 3altante simplemente no aparece
en el arc0io original, ser entendido como tal dato 3altante
sin necesidad de especifcar nada ms.
< SeH98:o Eor=ato :e FcGero &CSV - 4ers7B8 es@aIo3a'C
La primera fla contiene los nom"res de las aria"les del
marco de datos. Gl resto de flas contienen los datos
correspondientes.
Las flas 1ue tengan menos elementos 1ue la ms larga son
completadas con alores AZ.
Los datos estn separados por punto y comas.
Gn los nmeros los decimales ienen indicados por una
coma.
Los alores desconocidos se expresan con AZ.
Gstos fc0eros se leen utili4ando la 3uncin read.csvI, 1ue
proporciona un marco de datos.
< Tercer Eor=ato :e FcGero &.S'
'i se desea cargar los datos contenidos en una 0oja determinada
de Gxcel, se de"er usar la li"rer(a =R#D76=. <or ello, si no
disponemos de esta li"rer(a, primero 0a"r 1ue instalarla.
$ install.pac=ages()R>?@8))
, para usarla 0a"r 1ue cargar dic0a li"rer(a
$ library()R>?@8))
#pen Data7ase 6onnectiity (#D76! es un estndar de acceso a
7ases de datos 1ue utili4an los sistemas >icroso3t. <ara conectar
con #D76 una "ase de datos se 0a de crear un D'A, 1ue es un
nom"re 1ue asociamos a una conexin por #D76 para re3erirnos
a ella desde las aplicaciones o programas 1ue de"an conectarse
con la "ase de datos.
6ual1uier "ase de datos 1ue se pretenda utili4ar desde
aplicaciones gindo9s de"e tener su propio drier #D76. <or
ejemplo, >y'hL dispone de un Drier #D76 1ue se puede
descargar desde su pgina 9e". Las "ases de datos Zccess
(>icroso3t cet! y 'hL 'erer de >icroso3t tam"i5n tienen su drier
#D76 y este ya se encuentra instalado en el gindo9s de 3"rica.
8M
Lo 1ue amos 0acer es a"rir una conexin entre R y en este caso
con Gxcel a tra5s del comando od"c6onnectGxcel(!. , para ello,
amos a crear un nom"re del canal para dic0a conexin
$ canale-cel'( odbc8onnect#-cel()89:data:lbw.-ls))
Gn el caso de disponer un fc0ero en el 3ormato de Gxcel de 8MMV
Bl"9.xlsxC se de"er(a usar el comando
od(cConnectExcelIHHX12 de la misma 3orma.
<ara pedirle a R 1ue lea el contenido del li"ro de Gxcel se usa el
comando siguiente:
$ sql$ables(canale-cel) @ La salida de de este comando nos
muestra una ta"la, con tantas flas como 0ojas tenga dic0o li"ro,
y nos muestra como estn nom"radas dic0as 0ojas.
<ara er el contenido de una 0oja determinada, por ejemplo, para
er el contenido de la 0oja =<Z'= se usar el comando
$ sqlFetch(canale-cel* )A"))
<ero como con el simple resultado de este comando no podemos
tra"ajar, se guardar su resultado en una aria"le
$ datos '( sqlFetch(canale-cel* )A"))
, como ya no se necesitar ms usar el canal de Gxcel, se
proceder a cerrar a tra5s de
$ odbc8lose(canale-cel)
<or ltimo, otra 3orma para poder leer 7D de Gxcel, es usando la
li"rer(a =gdata=
$ library(gdata)
, en dic0a li"rer(a podr encontrar el comando read.xls 1ue es
ms complicado 1ue los procedimientos anteriores. >s
in3ormacin en:
0ttp:IIcran.r&proyect.orgI9e"Ipac:agesIgdataIgdata.pd3
81
=H. &>)/D)/ Y 0EE/ D)4O6
Resulta muy importante poder guardar datos, 3unciones, etc.,
para ser usados en otras sesiones de R. Gsos datos as( guardados
pueden compartirse con otros usuarios e incluso utili4arse en
distintos sistemas operatios.
$ ) %& runif(22)
$ 6 %& list(a 1, b 5"@/, c !patata!)
$ save(), 6, file !)6."Data!)
Los leeremos con
$ load(!)6."Data!)
<odemos guardar todos los o"jetos con
$ save.i,a4e() # 4uardado co,o !."Data!
$ save.i,a4e(file !no,bre."Data!)
Gl fc0ero .RData se carga al iniciarse R. R y muc0os otros
pa1uetes incorporan arc0ios con datos: 'e cargan con
load()nombre.R?ata)).
La instruccin data permite cargar arc0ios de las li"rer(as
disponi"les.
$ data() # ,uestra todos los arc1ivos
$ data(iris)
$ data(iris, packa4e !base!) # e>uivalente
$ Ziris
==. E53O/4)/ D)4O6
Lo ms sencillo es exportar una matri4 (es necesario transponer
la matri4!.
$ write(t()), file !c-8dir8data.t)t!,
3 ncolu,ns n,
3 append MNDC/)
<ero para exportar un data.3rame es mejor
$ write.table(,6.data.fra,e,
3 file !,i.output.t)t!,
3 sep !!,row.na,es MNDC/,
3 col.na,es 5"@/)
<ara escri"ir un fc0ero 6'P importa"le desde Gxcel
$ write.table(), file !foo.csv!, sep !,!,
3 col.na,es :N)
88
=I. )4/I_>4O6 DE O_`E4O6
*odo: ?ipo "sico en un ector o array: lgico, entero, real,
carcter, ...: mode
4ipo: de los ectores o arrays: dou"le, ...: t!peof
Nom(res: eti1uetas de los elementos indiiduales de un
ector o lista:
names
Dimensiones: de los arrays (alguna puede ser cero!: dim
Dimnames: nom"res de las dimensiones de los arrays:
dimnames
Clase: ector al3anum5rico con la lista de las clases del
o"jeto: class
6ada o"jeto pertenece a una clase, y ello permite utili4ar en R
programacin dirigida a o"jetos.
<or ejemplo, si un o"jeto pertenece a la clase =data.3rame=, se
imprimir de un modo especial* cuando le apli1ue la 3uncin
plot(! 5sta mostrar un grfco de un tipo especial* y otras
3unciones gen5ricas, como summary(!, producirn un
resultado especial* todo ello en 3uncin de la pertenencia a
dic0a clase.
Otros: atri"utos de una serie temporal.
< Atr759tos 78tr?8secosC =o:o D 3o8H7t9:
?odo o"jeto tiene dos atri"utos intr(nsecos: modo y longitud. Gl
modo se refere a la clase "sica de los elementos en el o"jeto*
existen cuatro tipos principales: num5rico, carcter, complejo, y
lgico (LZL'G XLalsoY or ?R[G XPerdaderoY!. Gxisten otros tipos,
pero no representan datos como tal (por ejemplo 3unciones o
expresiones!. La longitud es simplemente el nmero de
elementos en el o"jeto. <ara er el tipo y la longitud de un o"jeto
se pueden usar las 3unciones mode y lengt,, respectiamente:
Los ectores pueden ser num5ricos, complejos, de caracteres y
lgicos.
,ode(1-.) # Eector nu,Trico.
,ode(c(1.1, &2.2.)) # Eector nu,Trico.
,ode(c(231i, 2&1i)) # Eector co,plejo.
?5cnicamente, el primero es un ector de enteros y el segundo un
ector de nmeros reales (con do"le precisin!.
,ode(c(!uno!,!dos!,!tres!)) # Eector de caracteres.
,ode(1-. $ *) # Eector l#4ico.
@ 'alores 3erdidos: 6uando un dato no est disponi"le se
representa como :N (del ingl5s +not aaila"le+!
independientemente del tipo del dato.
AZ es el cdigo de =Aot aaila"le=. Gs un alor lgico 1ue es
usado como indicador de los alores perdidos.
v %& c(1,?,B,:N)
is.na(v) %& MNDC/ MNDC/ MNDC/ 5"@/
w1ic1(is.na(v)) %& '
w %& v[<is.na(v)] # sin los valores perdidos
v :N # <:o funciona< [Por >uTZ
'ustituir AZ por, p.ej., M:
v[is.na(v)] %& 2
Los alores AZ pueden dar pro"lemas con algunas 3unciones:
)na %& c(1, 2, *, :N, ')( ,ean()na) %& [1] :N
,ean()na, na.r, 5"@/) %& [1] 2..
@ ?odos los elementos de un ector de"en ser del mismo modo,
con la nica excepcin del o"jeto :N.
N) es de modo lgico. Gs el cdigo de BAot aaila"leC.
,ode(:N) %& !lo4ical!
8K
c(1, :N, *)
,ode(c(1, :N, *)) %& !nu,eric!
Los arra!s son ectores.
,ode(,atri)(1-?, 2, *)) %& !nu,eric!
t6peof(,atri)(1-?, 2, *)) %& !inte4er!
,ode(arra6(c(!a!, !b!, !c!), c(1, 1, *))) %& !c1aracter!
Las listas y los marcos de datos son de modo lista.
,ode(list(no,bre !\o!, edad +2)) %& !list!
t6peof(list(no,bre !\o!, edad +2)) %& !list!
,ode(data.fra,e(peso c(A2, +2), 4enero c(!M!, !0!)))
Las funciones son de tipo 3unction.
,ode(su,) %& !function!
Gl o"jeto N>00 es de modo nulo.
,ode(:@DD) %& !:@DD!
R representa correctamente valores numricos no7nitos
como i

con 9nf y &9nf, o alores 1ue no son num5ricos


(indeterminaciones! con :a: (del ingl5s +not a num"er+!. Gl infnito
y AaA (Bnot a num"erC! son di3erentes de AZ.
.82( &.82( 282 %& 9nf ( &9nf ( :a:
is.infinite(&.82)( is.nan(282)( is.na(.82) %& 5"@/, 5"@/,
MNDC/
@ <ara compro"ar el modo de un atri"uto, lo coneniente es usar
las 3unciones de tipo is.modo.
is.nu,eric(1-.)
is.nu,eric(c(!uno!, !dos!))
is.list(list(a 1, b !dos!))
is.null(:@DD)
is.null(...)
@ <odemos cam"iar el modo de un o"jeto directamente.
v %& 1-.
,ode(v)
,ode(v) %& !c1aracter!
v
,ode(v) %& !co,ple)!
v
,ode(v) %& !nu,eric!
v
@ <ero es ms coneniente 0acerlo con las 3unciones de tipo
as.modo.
as.c1aracter(v)
as.co,ple)(v)
as.list(v!
Ao siempre es posi"le cam"iar a un modo determinado.
as.function1v2
@ <ara simplifcar una lista es coneniente usar la 3uncin unlist.
list(a !a!, b 2, c pi32i)
unlist(list(a !a!, b 2, c pi32i))
list(a list() 1-., 6 D/55/"C[1-.]), b !U!, c :N)
unlist(list(a list() 1-., 6 D/55/"C[1-.]), b !U!, c
:N), recursive 5)
unlist(list(a list() 1-., 6 D/55/"C[1-.]), b !U!, c
:N), recursive M)
@ R est siempre pendiente de cam"iar el modo de un o"jeto al
ms sensato para aplicar una determinada 3uncin.
su,(c(5, 5, M, 5))
Zun1ue a eces no sa"e o no puede.
su,(c(!a!, !b!))
su,(c(!1!, !2!))
@ Gl modo es un atri"uto intr(nseco de todo o"jeto. Zdems, estos
poseen otro atri"uto intr(nseco: la longitud.
length(v)
len4t1(list(a 1, b !dos!))
Los nmeros y cadenas son ectores de longitud 1.
,ode(..A)
len4t1(..A)
8O
,ode(!1ola!)
len4t1(!1ola!)
Gs posi"le crear ectores de longitud determinada, incluso M.
co,ple)(.)
co,ple)()
c1aracter(*)
c1aracter()# ]ste es un vector de caracteres vacHo
nu,eric(2) # ]ste es un vector nu,Trico vacHo
@ La 3uncin ls deuele un ector de cadenas con los o"jetos
defnidos en el entorno glo"al. <or eso, cuando no 0ay o"jetos
defnidos aparece c0aracter(M!* es decir, un ector de caracteres
de longitud M.
< Atr759tos 8o 78tr?8secos :e 98 o5Jeto
@ <ara mostrar una lista de todos los atri"utos no intr(nsecos
defnidos para el o"jeto en ese momento se usa la 3uncin
attri(utes.
v %& 1-?
na,es(v) %& letters[1-?]
v
attributes(v)
@ <odemos cam"iar o eliminar los atri"utos de un o"jeto.
attri"utes(! %& A[LL
v
attributes(v) %& list(di, c(2, *),
di,na,es list(letters[1-2], letters[1-*]))
v
@ La 3uncin attr1o(%eto9 nom(re2 puede usarse para
seleccionar o cam"iar un atri"uto espec(fco. Gstas 3unciones no
se utili4an 0a"itualmente, sino 1ue se reseran para la creacin
de un nueo atri"uto con fnes espec(fcos, por ejemplo, para
asociar una 3ec0a de creacin o un operador con un o"jeto de R.
'in em"argo, es un concepto muy importante 1ue no de"e
olidar.
La asignacin o eliminacin de atri"utos de un o"jeto de"e
reali4arse con precaucin, ya 1ue los atri"utos 3orman parte del
sistema de o"jetos utili4ados en R.
v %& 1-?
na,es(v) %& letters[1-?]
v
attr(v, !na,es!)
attr(v, !na,es!) %& D/55/"C[1-?]
v
@ Gs mejor usar las 3unciones espec(fcas para cam"iar los
atri"utos. <or ejemplo, mejor.
di,(v) %& c(2, *)
v
1ue
attr(v, !di,!) %& c(*, 2)
v
@ >ediante el uso de atri"utos se pueden extender los tipos de
datos "sicos. <or ejemplo, un array es un ector 1ue tiene
defnido el atri"uto dim. <ara estos tipos de datos extendidos
tam"i5n existen 3unciones del tipo is.tipo y as.tipo.
@ [n atri"uto muy importante, al ser R un lenguaje orientado a
o"jetos, es el atri"uto class. Gste permite esta"lecer distintos
comportamientos de una misma 3uncin atendiendo a la clase del
o"jeto reci"ido como argumento.
v %& c(1-?, 1-*)
v
,ode(v) # /s un vector nu,Trico.
attr(v, !class!) # /l atributo class no estK definido.
su,,ar6(v)
f %& cut(v, breaks c(1, *, ?), include.lowest 5)
f
,ode(f) # Ci4ue siendo un vector nu,Trico.
attr(f, !class!) # /l atributo class, entre otros, sH estK
definido.
su,,ar6(f)
8S
@ Gs posi"le defnir cual1uier atri"uto 1ue se nos ocurra. Zlgunos
modifcarn el comportamiento de las 3unciones de R. #tros solo
nos sern de utilidad a nosotros.
v %& 1-12
v
attr(v, !fec1a!) %& !2* de Octubre!
attr(v, !co,entario!) %& !vector de eje,plo!
v
=Q. *)NE`O DE D)4O6
< Ma8eJo :e :atosC Reco:7Fcac7B8 :e 98a 4ar7a53e
Recodifcar una aria"le consiste en construir una nuea aria"le
mediante la trans3ormacin de los alores de otra aria"le.
Gn la sintaxis de la 3uncin recode(!, incluida en el pa1uete car
de"emos especifcar cul es la aria"le a recodifcar, cules son
los criterios de recodifcacin y si deseamos 1ue la nuea aria"le
resultante de la recodifcacin sea un 3actor o no.
librar6(car) #Para car4ar el pa>uete
DatosSProvincia%&recode(DatosSine, !1'222-1'BBB^G#rdoba^ (
2*222-2*BBB^LaTn^!, as.factor.result5"@/)
Gn primer lugar 0emos escrito el nom"re de la nuea
aria"le, Provincia. 6omo 1ueremos 1ue sea una nuea
aria"le de la 0oja de datos Datos, 0emos escrito
DatosSProvincia.
6omo primer argumento de recode(! 0emos escrito la
aria"le 1ue amos a recodifcar, DatosSine.
Z continuacin 0emos especifcado los criterios de
recodifcacin. De"en estar siempre entre comillas. 'i 0ay
ms de uno, 1ue es lo ms 0a"itual, de"en estar separados
por puntos y comas. Linalmente, los nom"res de los nieles
de las aria"les recodifcadas de"en estar entre comillas
simples.
Gn el ejemplo 1ueremos 1ue todos los cdigos entre 1OMMM
y 1SMMM sean asignados a 6rdo"a. Gscri"ir 1'222-1'BBB es
una 3orma rpida de generar el ector con todos los enteros
entre 1OMMM y 1O\\\. Zs(, el primer criterio de
recodifcacin es 1'222-1'BBB^G#rdoba^.
Linalmente, as.factor.result5"@/ indica 1ue la nuea
aria"le Provincia ser un 3actor.
'i se desea recodifcar una aria"le tipo carcter, es igual al caso
anterior con la saledad de 1ue los alores de la aria"le
cualitatia o de tipo carcter de"en escri"irse entre comillas en
las instrucciones para la recodifcacin.
>ediante R 6ommander, 1e importamos el arc0io. Z
continuacin seleccionamos la opcin Datos 0odificar
variables del conjunto de datos activo "ecodificar
variables. , nos aparecer la entana en la ya estn incluidas las
entradas necesarias para nuestra recodifcacin.
< Ma8eJo :e :atosC CK3c93o :e 89e4as 4ar7a53es
'upongamos un data.3rame (Datos! con 8 aria"les: P1 y P8. ,
1ueremos o"tener una tercera aria"le 1ue sea la suma de las
dos. Recordemos 1ue para re3erirnos a una aria"le de una 0oja
de datos de"emos escri"ir primero el nom"re de la 0oja de datos,
seguido del s(m"olo d y del nom"re de la aria"le. 'e calcula de
la siguiente 3orma:
DatosSCu,a %& DatosSE1 3 DatosSE2
Lo 1ue R 0ace es sumar elemento a elemento los datos
correspondientes a cada fla. Desde luego, 0ay una 3orma muc0o
ms 3cil:
DatosSCu,a %& rowCu,s(Datos[,1-2])
Lo 1ue se 0ace es sumar por flas, todas las aria"les, de la 1j a
la 8j.
Gn general, podemos reali4ar las operaciones aritm5ticas
0a"ituales (suma, di3erencia, multiplicacin, diisin, potencias,
etc.!, con la notacin matemtica propia de estas operaciones,
8T
sin olidar 1ue tales operaciones se reali4an elemento a elemento
so"re todos y cada uno de los elementos 1ue constituyen cada
aria"le de la 0oja de datos.
>ediante R 6ommander, 1e importamos los datos. Z
continuacin seleccionamos la opcin del men Datos
0odificar variables del conjunto de datos activo Galcular
una nueva variable.
< Ma8eJo :e :atosC F73tra:o :e :atos
Gn ocasiones es necesario anali4ar, no todo el conjunto de datos,
sino slo un su"conjunto de 5ste. Gn ese caso, lo 1ue se 0ace es
fltrar los datos mediante alguna condicin dada por uno o arios
alores de alguna aria"le.
<or ejemplo, supongamos 1ue en el arc0io de datos contenido
en caen6ordo"a.xls deseamos anali4ar slo los datos de los
municipios de ca5n.
Ao olidemos 1ue la 3orma de re3erirnos a los elementos de una
aria"le 1ue conocemos 0asta a0ora es poniendo la posicin 1ue
ocupan entre corc0etes. Z0ora amos a 0acer algo parecido, pero
escri"iendo entre los corc0etes la condicin 1ue determina el
fltro.
'iguiendo con el ejemplo, algunas 3ormas de fltrar los datos de
los municipios de ca5n son:
Datos.Laen %& Datos[DatosSProvincia!LaTn!,]
Datos.Laen %& Datos[(DatosSine$2*222)_(DatosSine%2'222),]
Ao perdamos de ista 1ue al no poner nada tras la coma 1ue 0ay
dentro del corc0ete estamos pidiendo a R 1ue mantenga todas
las aria"les.
Gn resumen, el fltrado se logra identifcando las flas 1ue
deseamos conserar mediante una expresin lgica. Atese
tam"i5n 1ue a1u( lo 1ue estamos generando es otro data.3rame
pero ya fltrado.
>ediante R 6ommander, 1e importamos los datos. Z
continuacin seleccionamos la opcin del men Datos Gonjunto
de datos activo Miltrar el conjunto de datos activo.
=R. /E6a*ENE6 N>*b/ICO6
< Ta53as :e Erec9e8c7as @ara 4ar7a53es cateHBr7cas
;emos isto 1ue un 3actor es un ector utili4ado para especifcar
una clasifcacin discreta de los elementos de otro ector de igual
longitud.
Gn R existen dos tipos de 3actores (aria"les categricas!:
Nominales: Ao existe jerar1u(a entre ellos (p.e. colores!
Ordinales: Gxiste jerar1u(a entre ellos (p.e. grupos de
edad!
La 3uncin ta(le(! calcula la ta"la de 3recuencias a partir de
3actores de igual longitud.
'i existen : argumentos categricos, el resultado ser(a una
aria"le :&indexada, 1ue contiene la ta"la de 3recuencias.
$ ) %& as.factor(1-.)( table())
)
1 2 * ' .
1 1 1 1 1
< Me:7:as :e 3oca37>ac7B8L :7s@ers7B8 D Eor=a @ara 453es
c9a8t7tat74as co8t.
La 3orma ms sencilla de empe4ar a descri"ir unos datos
cuantitatios es reali4ar un resumen estad(stico. Z continuacin
8V
mostramos un listado de las ms 0a"ituales para descri"ir la
locali4acin y la dispersin.
Munci#n @tilidad
su,(..., na.r,MNDC/) &&&&&&&&&&&$Cu,a
,a)(..., na.r,MNDC/) &&&&&&&&&&&$0K)i,o
,in(..., na.r,MNDC/) &&&&&&&&&&&$0Hni,o
w1ic1.,a)()) &&&&&&&&&&&&&&&&&&&&$Posici#n del ,K)i,o
w1ic1.,in()) &&&&&&&&&&&&&&&&&&&&$Posici#n del ,Hni,o
p,a)(..., na.r,MNDC/) &&&&&&&&&&$0K)i,o en paralelo
p,in(..., na.r,MNDC/) &&&&&&&&&&$0Hni,o en paralelo
cu,su,()), cu,prod()) &&&&&&&&&&&$Cu,as 6 prods acu,ulados
cu,,a)()), cu,,in()) &&&&&&&&&&&&$,a)^s 6 ,in^s acu,ulados
,ean(), tri,2, na.r,MNDC/) &&&&$0edia
wei41ted.,ean(),w,na.r,MNDC/)&&&$0edia ponderada
,edian(),na.r,MNDC/)) &&&&&&&&&&$0ediana
>uantile(),prob(2, 2.2., 2.., &&$Guantiles
2.A., 1), na.r,MNDC/)
fivenu,(), na.r,MNDC/) &&&&&&&&&$.&5urke6- ,in, lower&1in4e,
,ediana, upper&1in4e, ,K)i,o
su,,ar6(), na.r,MNDC/) &&&&&&&&&$,in, 1c, ,ediana, ,edia,
*c, ,K)
9J"((), na.r,MNDC/) &&&&&&&&&&&&$"an4o inter&cuartHlico
ran4e(..., na.r,MNDC/), &&&&&&&&$"an4o
finiteMNDC/)
var(s, 6), na.r,MNDC/, use) &&&$Earian7a
sd(), na.r,MNDC/) &&&&&&&&&&&&&&$Desviaci#n 5Hpica
,ad(), center, constant1.''2?, &$Desviaci#n ,ediana absoluta
na.r,MNDC/)
Z continuacin mostramos algunos ejemplos de sus usos:
)%& r4a,,a(.2,1,*)
su,,ar6())
0in. 1st Ju. 0edian 0ean *rd Ju. 0a).
2.22A?A? 2.12**22 2.2A*122 2.*?2+22 2..**122 1.B*2222
fivenu,())
[1] 2.22A?A?'2+ 2.1212A1222 2.2A*1'+'.+ 2..'?1??22'
1.B*1.+.?*+
,ean()) # Devuelve [1] 2.*?2A+?+
,edian()) # Devuelve [1] 2.2A*1'+.
>uantile()) # Devuelve
2= 2.= .2= A.= 122=
2.22A?A?'2+ 2.12*2?1A'2 2.2A*1'+'.+ 2..**11+?2? 1.B*1.+.?*+
>uantile(), c(2.*., 2.B)) # Devuelve- *.= B2=
2.1+2*+2. 2.?+12+1?
sd()) # Devuelve [1] 2.*'2.'B*
var()) # Devuelve [1] 2.11A*'21
ran4e()) # Devuelve [1] 2.22A?A?'2+ 1.B*1.+.?*+
9J"()) # Devuelve [1] 2.'2B+.?B
,in()) # Devuelve [1] 2.22A?A?'2+
w1ic1.,in()) # Devuelve [1] 2.
)[w1ic1.,in())] # ,in()). Devuelve [1] 2.22A?A?'2+
)[1-.]( )[?-12]
[1] 2.*2A2A22' 2.2??B.''? 2.2??.2B11 2.2B'+1++2 1.1*AA*1B*
[1] 2.1?*'A22 2.B?2?2B? 2.'B*BA.+ 2..??21?' 2...A'2*+
p,in()[1-.], )[?-12]) # Devuelve
[1] 2.1?*'A21A 2.2??B.''? 2.2??.2B11 2.2B'+1++2 2...A'2*AB
<ara anali4ar la curtosis y la asimetr(a de unos datos podemos
utili4ar dos 3unciones de la li"rer(a e=HX=* el coefciente de
asimetr(a s;e+ness(), na.r, MNDC/, t6pe *) y ;urtosis(!.
'i x contiene alores perdidos y 5stos no se eliminan, la asimetr(a
(s:e9ness! es AZ.
'ea
n
x
m
i
r
i
r


=
) (
el momento de la muestra de orden r .
coanes y `ill (1\\W! anali4an tres m5todos para estimar la
asimetr(a:
?ipo 1:
2 3
2
3
1
m
m
g =
. Gsta es la defnicin t(pica usada en
muc0os li"ros de texto ms antiguos.
?ipo 8:
( ) ( )
( ) 2
1
1 1

=
n
n n s<rt
g & . [tili4ado en 'Z' y '<''.
?ipo K: ( )
2 3
1
3
3
1
) 1 ( n n g
m
m
( = = . [tili4ado en >HAH?Z7 y
7>D<.
$ librar6(e12A1) # Doadin4 re>uired packa4e- class
$ ,o,ent(),2,centerM) # ,o,ento no centrado de orden 2
[1] 2.2'.1?2*
8W
6onsideremos dos distri"uciones asim5tricas (7etas! y las amos
a comparar con la normal 1ue es sim5trica:
nsi, %& .222
s1 %& skewness(rbeta(nsi,,2,*))
s2 %& skewness(rbeta(nsi,,*,2))
s* %& skewness(rnor,(nsi,,2..,2..))
s1( s2( s*
6onsideraremos a0ora una distri"ucin normal y una 'tudent,
ms ac0atada, y las comparamos:
k1 %& kurtosis(rnor,(nsi,))
k2 %& kurtosis(rt(nsi,,*))
k1( k2
?am"i5n cargando la li"reria B,o,entsC podemos usar las
3unciones:
librar6(,o,ents)
skewness(datos)
kurtosis(datos)
=T. E0E*EN4O6 &/)FIC)DO/E6 EN /
R o3rece una incre("le ariedad de grfcos con un gran nmero
de opciones 1ue permiten una enorme ]exi"ilidad.
<ara poder crear grfcos es necesario iniciali4ar un dispositio
grfco (grap0ic deice!, y si 0ay arios, elegir uno de ellos. De
0ec0o, al ejecutarse una 3uncin grfca, R a"re una entana para
mostrar el grfco si no 0ay ningn dispositio a"ierto.
Gl resultado de una 3uncin grfca no puede ser asignado a un
o"jeto sino 1ue siempre es eniado a un dispositio grfco, los
cuales se a"ren inocando a la 3uncin correspondiente.
Gl tipo de dispositios grfcos disponi"les depende del sistema
operatio.
Las entanas grfcas se llaman 5== "ajo [nixILinux,
+indo+s "ajo gindo9s y
macintos, "ajo >ac.
Gn [nixILinux y gindo9s se puede a"rir una nuea entana
grfca con el comando x==(! ya 1ue en gindo9s existe un alias
apuntando a +indo+s(!.
Dispositios grfcos 1ue son arc0ios se pueden a"rir con una
3uncin 1ue depende del tipo de arc0io 1ue se 1uiere crear:
postscript(!, pdf(!, png(!, . . .
Los primeros son entanas (F11(!, 9indo9s(!! y los segundos
arc0ios (postscript(!, pd3(!, png(!,...!
<ueden a"rirse arios dispositios de los cuales tan slo uno de
ellos ser el activo. La lista de dispositios grfcos disponi"les
se o"tiene con el comando cdevice.
Gl ltimo dispositio en ser a"ierto, se conierte en el dispositio
actio so"re el cual se di"ujan (y se eniar todas! las grfcas
generadas. La 3uncin dev.list(! muestra una lista con los
dispositios a"iertos:
$ )11()( )11()( pdf()
8\
$ dev.list()
`11 `11 pdf
2 * '
Los nmeros corresponden al nmero del dispositio respectio.
Gste se puede usar para cam"iar el dispositio actio. <ara sa"er
cual es el dispositio actio usamos la 3uncin dev.cur(!, 1ue
deoler(a pdf ('), y para cam"iar el dispositio actio
utili4amos el comando dev.set(!:
$ dev.set(*)
`11
*
La 3uncin dev.oP(! por de3ecto se cierra el dispositio actio, de
lo contrario el correspondiente al nmero pasado en la 3uncin. R
muestra el nmero del nueo dispositio actio:
$ dev.off(2)
`11
*
$ dev.off()
pdf
'
Pale la pena mencionar dos caracter(sticas espec(fcas de la
ersin de R para gindo9s: 1! la 3uncin 9in.metafle a"re un
dispositio meta&arc0io de gindo9s , y 8! el men B;istoryC
seleccionado cuando la entana grfca est actia, permite
$gra"ar+ todas las grfcas durante una sesin (por de3ecto, esta
opcin est inactia, pero el usuario la puede actiar 0aciendo
clic: en RecordingC en este men!.
< D7s@os7c7B8 :e 98a HrKFca
La 3uncin split.screen diide el dispositio grfco actio. <or
ejemplo:
$ split.screen(c(1, 2))
diide el dispositio en dos partes 1ue se pueden seleccionar con
screen(1) o screen(2)* erase.screen12 "orra la ltima grfca
di"ujada. [na parte de un dispositio se puede diidir a su e4 en
partes ms pe1ueUas con split.screen() permitiendo la
posi"ilidad de confguraciones complejas.
Gstas 3unciones son incompati"les con otras similares (como
la!out(! o coplot(!! y no se de"en usar con mltiples dispositios
grfcos. 'u uso se de"e limitar por ejemplo, a la exploracin
grfca de datos.
La 3uncin la!out diide el dispositio actio en arias partes
donde se colocarn las grfcas de manera sucesia. Gsta 3uncin
tiene como argumento principal una matri4 con nmeros enteros
indicando el nmero de las su"&entanas. <or ejemplo, para
diidir el dispositio en cuatro partes iguales:
$ la6out(,atri)(1-', 2, 2))
?am"i5n es posi"le crear esta matri4 preiamente permitiendo
una mejor isuali4acin de la manera como se a a diidir el
dispositio:
$ ,at %& ,atri)(1-', 2, 2)
$ ,at
[,1] [,2]
[1,] 1 *
[2,] 2 '
$ la6out(,at) # Grea la divisi#n en el
dispositivo 4rKfico
$la6out.s1ow(') # Eisuali7a la partici#n creada
KM
<ara representar aria"les
categricas o cuantitatias
discretas (con pocas clases!
Zdems podemos com"inar celdas (o su"entanas! repitiendo el
nmero de la primera su"entana 1ue deseamos com"inar en las
celdas 1ue 1ueremos 1ue permane4can unidas a la primera.
$, %& ,atri)(c(1-*, *), 2, 2)
$ ,
[,1] [,2]
[1,] 1 *
[2,] 2 *
$la6out(,)
$la6out.s1ow(*)
Atese 1ue al no 0a"erse usado la opcin (!ro+ de ,atri)()
(leer por flas!,
las su"entanas se 0an numerado a lo largo de las columnas. 'in
em"argo, se puede especifcar ,atri)(..., b6row5"@/) para
numerar las su"entanas a lo largo de las flas.
<or de3ecto, layout(! diide el dispositio en dimensiones
regulares: esto se puede modifcar con las opciones +idt,s y
,eig,ts. Gstas dimensiones se dan de manera relatia (aun1ue
pueden ser proporcionadas en cent(metros, er Zla6out!.
$, %& ,atri)(1-', 2, 2)
$la6out(,, widt1sc(1, *),
1ei41tsc(*, 1))
$la6out.s1ow(')
$, %& ,atri)(c(1,1,2,1),2,2)
$la6out(,, widt1sc(2, 1),
1ei41tsc(1, 2))
$la6out.s1ow(2)
Linalmente, los nmeros en la matri4 pueden ser ceros dando la
posi"ilidad de reali4ar arreglos complejos.
$, %& ,atri)(2-*, 2, 2)
$la6out(,, c(1, *), c(1, *))
$la6out.s1ow(*)
La 3uncin par1mfor+@c1a9(22 permite diidir la pantalla grfca
en una matri4 de grfcos de dimensin a x ". 'i 1ueremos oler
a la situacin anterior de pantalla completa, de"eremos ejecutar
par(,forwc(1,1))
R tiene dos sistemas de producir grfcos:
Gl tradicional, 1ue es el 1ue eremos principalmente.
`rafcos ?rellis (pa1uete Lattice! del 1ue eremos algunos
ejemplos.
Las 3unciones grfcas en R son de tres tipos:
Funciones de alto nivel: crean un nueo grfco de un
tipo ya defnido, posi"lemente con ejes, eti1uetas, t(tulos,
etc.
Funciones de (a%o nivel: aUaden in3ormacin a un
grfco ya existente (punto adicionales, l(neas, eti1uetas,...!
Funciones interactivas: permiten aUadir o extraer
in3ormacin de un grfco utili4ando el ratn
< GrKFcos :e a3to 874e3
#son los "ue crean una nueva grfca&
Gntre las 3unciones de alto niel para di"ujar, podemos destacar
por su 3recuencia de uso las siguientes:
(arplot : Diagrama de "arras
pie : Diagrama de sectores
dotc,art : `rfco de puntos
) %& rbino,(122,.,2.*)
).frec %& table()) ( ).frec
#Devuelve- )
# 2 1 2 * ' .
# 1? *B 2B 12 . 1
par(,frowc(2,2))
barplot(table()))
barplot(table()),colrainbow(len4t1(table()))))
pie(table()))
K1
<ara representar datos
continuos
(oxplot : Diagrama de caja
stem : Diagrama de tallo y 0ojas
,ist: ;istograma
plot : Rutina de di"ujo general
Gl comando plot se utili4a para crear una nuea fgura. <or
ejemplo:
) se>(&12,12) # Qenera,os los n;,eros &12, &B,....,B, 12
6 )I2 # Qenera,os los cuadrados de dic1os n;,eros
plot(),6) # Dibuja el 4rKfico de la parKbola )I2
contour: `rfco de contorno
pairs: <ares de grfcos de dispersin por aria"les
persp: grfcos KD
< GrKFcos :e 5aJo 874e3
#los "ue agregan elementos a una grfca ya existente&
Los comandos de "ajo niel siren para aUadir in3ormacin extra
a los grfcos 1ue producen los comandos de alto niel. <or
ejemplo, podr(amos 1uerer aUadir texto a un grfco, puntos
extras, l(neas, cosas as(. Gntre los ms importantes podemos
destacar:
points(x,y! ZUade puntos o l(neas conectadas al grfco
actual
lines(x,y!
text(x,y,eti1uetas! ZUade texto al grfco actual en la posicin x,y
a(line(a,"! ZUade una l(nea de pendiente a y 1ue corta al
origen en ".
a(line(0Ey! ZUade l(nea 0ori4ontal 1ue corta al eje y en 0Ey
a(line(Ex! Lo anlogo para l(nea ertical
pol!gon(x,y! Di"uja un pol(gono
title(main,su"! ZUade t(tulo y su"t(tulo al grfco actual
axis(side! ZUade ejes al grfco actual (de 1 a O!
< F98c7o8es 78teract74as
Gn R existen una serie de 3unciones 1ue permiten completar los
grfcos de manera interactia por parte del usuario.
locator(! deuele las coordenadas de los puntos. 'ita el cursor
en la entana de grfcos, cada e4 1ue pulsemos el "otn
i41uierdo del mouse nos deoler las coordenadas del punto en
el 1ue 0ayamos marcado.
identif!(x, y, eti1uetas! identifca los puntos con el ratn y
escri"e la correspondiente eti1ueta. Aos permite marcar uno de
los puntos del grfco (con el ratn, igual 1ue antes!, y nos
deuele la componente de los ectores representados 1ue dio
lugar a ese punto. >uy til en estad(stica para identifcar outliers.
) %& (2-?.)812( 6 %& sin())( 7 %& cos())
$ plot (),6,,ain!Munciones seno 6 coseno!, t6pe!l!)
$ lines(),7, col2, lt62)
$ le4end(locator(1), le4endc(!sin())!, !cos())!),
lt6c(1,2), colc(1,2))
) %& 1-12( 6%& sa,ple(1-12)
no,bres %& paste(!punto!, ), !.!, 6, sep!!)
plot(), 6)( identif6(), 6, labels no,bres)
< A3H98os ParK=etros @ara GraFcar e8 R
?odas las 3unciones grfcas 1ue se explican a continuacin
admiten los siguientes parmetros:
data E un marco de datos 1ue contiene las aria"les con
los alores a partir de los cuales se construye el grfco.
,ori-ontal E alor lgico 1ue determina, cuando tenga
sentido, si el grfco de"e di"ujarse 0ori4ontal o
erticalmente.
K8
main E t(tulo principal del grfco.
su( E +t(tulo de a"ajo+ (su"t(tulo secundario del grfco!
t!pe E+% l N p N " N n /+ L(nea, puntos, am"os, ninguno
lt! E n ?ipo de L(nea
l+d E 6am"ia el grosor de l(nea
pc,E+.+ 6aracter de di"ujo
xla(, !la( E eti1uetas de los ejes x e y.
xlim, !lim E l(mites de los ejes x e y.
xlimEc(xminimo* xmaximo! xlimErange(x!
ylimEc(yminimo* ymaximo!
< Co8J98tos :e :atos
Los pa1uetes de R suelen proporcionar distintos conjuntos de
datos, una lista de los cuales podemos conocer con la 3uncin
data.
data(!
Gn este tema utili4aremos los siguientes conjuntos de datos:
1.& Gl conjunto de datos iris: proporciona las medidas en
cent(metros de las aria"les longitud y anc0ura del s5palo y
longitud y anc0ura del p5talo, respectiamente, de SM ]ores de
cada una de K especies de iris.
8.& Gl conjunto de datos 3ait03ul: proporciona el tiempo de espera
entre erupciones y la duracin de estas erupciones para el g5iser
#ld Lait03ul 1ue se encuentra en el <ar1ue Aacional ,ello9stone
de Gstados [nidos.
K.& Gl conjunto de datos [67Zdmissions: proporciona los datos
so"re la admisin de alumnos a la escuela de graduados en
7er:eley para los seis mayores departamentos en 1\VK.
O.& Gl conjunto de datos Aile: proporciona las medidas del ]ujo
anual del r(o Ailo en Zsun de 1WV1 a 1\VM.
KK
=W. &/ZFICO6 E64)D64ICO6 >NI')/I)N4E6
(arplot : Diagrama de "arras
pie : Diagrama de sectores
dotc,art :
(oxplot : Diagrama de caja
stem :
,ist: ;istograma
< D7aHra=a :e 5arras
[n diagrama de "arras es una representacin grfca en 3orma de
"arras de una aria"le, donde la longitud de cada "arra es
proporcional a la magnitud de los alores representados. Gl
propsito de un diagrama de "arras es presentar grfcamente la
distri"ucin de un conjunto num5rico de datos uniariante, siendo
solamente adecuado en general cuando el tamaUo del conjunto
de datos es pe1ueUo.
Gl diagrama de "arras se o"tiene a partir del conjunto de datos
di"ujando una "arra por cada alor de longitud proporcional a ese
alor.
barplot(1ei41t, widt1 1, space :@DD,
na,es.ar4 :@DD, le4end.te)t :@DD, beside MNDC/,
1ori7 MNDC/, densit6 :@DD, an4le '.,
col :@DD, border par(!f4!),
,ain :@DD, sub :@DD, )lab :@DD, 6lab :@DD,
)li, :@DD, 6li, :@DD, )pd 5"@/, lo4 !!,
a)es 5"@/, a)isna,es 5"@/,
ce).a)is par(!ce).a)is!), ce).na,es
par(!ce).a)is!),
inside 5"@/, plot 5"@/, a)is.lt6 2, offset 2,
add MNDC/, ar4s.le4end :@DD, ...)
,eig,t (altura!: Pector de las alturas de cada "arra
+idt,: Pector de las anc0uras de cada "arra. <or de3ecto toma
como alor la unidad.
space: Gspacio entre las "arras
col: Pector de colores para cada "arra
names.arg: Pector de nom"res para cada categor(a (de"ajo de
cada "arra!
legend.text: Pector de eti1uetas para cada categor(a en la
leyenda
(eside (lado!: Palor lgico. 'i es LZL'G, las columnas de 0eig0t
se presentan como "arras apiladas, y si es ?R[G las columnas se
presentan como "arras yuxtapuestas.
,ori- (0ori4ontal!: Palor lgico. 'i es LZL'G, las "arras se di"ujan
erticalmente con la primera "arra de la i41uierda. 'i es ?R[G, las
"arras se di"ujan 0ori4ontalmente con la primera en la parte
in3erior.
densit! (densidad!: Pector 1ue da la densidad de l(neas de
som"reado, en l(neas por pulgada, para las "arras o componentes
de la "arra. Gl alor predeterminado es A[LL signifca 1ue no se
di"ujan l(neas de som"reado. Los alores no positios de
densidad tam"i5n in0i"en el di"ujo de l(neas de som"reado.
angle (ngulo!: <endiente de las l(neas de som"reado, dada
como un ngulo en grados (0acia la i41uierda!, por los "ares o
componentes de la "arra.
(order: 6olor 1ue se utili4ar para la 3rontera de las "arras.
[tilice "order E AZ omitir 3ronteras. 'i 0ay l(neas de som"reado,
"order E ?R[G signifca utili4ar el mismo color para el "orde como
para las l(neas de som"reado.
main, su(: t(tulo general y su"t(tulo para el grfco.
xla(: Gti1ueta para el eje x.
!la(: Gti1ueta para el eje y.
xlim: Pector de l(mites para el eje x.
!lim: Pector de l(mites para el eje y.
xpd: Palor lgico. kDe"er(a permitirse 1ue las "arras salgan de la
reginl Hntrodu4ca una cadena 1ue especif1ue si las escalas de
los ejes de"en ser logar(tmica* er plot.de3ault.
axes (ejes!: Palor lgico. 'i es ?R[G, una ertical (u 0ori4ontal, si
es cierto 0ori4! eje se di"uja.
axisnames: Palor lgico. 'i es ?R[G, y si 0ay names.arg (er
arri"a!, el otro eje se tra4a (con lty E M! y se eti1ueta.
KO
cex.axis: 3actor de expansin para las eti1uetas de los ejes
num5ricos.
cex.names: 3actor (ne comprendido entre M y 1! de expansin de
nom"res de eje (escala las eti1uetas de las "arras!.
inside (dentro!: Palor lgico. 'i es ?R[G, se di"ujarn las l(neas
1ue diiden las "arras adyacentes (non&stac:edD!. 'lo se aplica
cuando el espacio E M (1ue en parte es cuando al lado E ?R[G!.
plot (tra4ar!: Palor lgico. 'i es 3also, nada se tra4a.
axis.lt!: el parmetro grfco lty aplicado en el eje y las marcas
de graduacin del eje de categor(as (0ori4ontal por de3ecto!.
?enga en cuenta 1ue de 3orma predeterminada se suprime el eje.
oPset (despla4amiento!: un ector 1ue indica la cantidad de las
"arras de"en ser despla4adas con respecto al eje x.
add (aUadir!: Palor lgico. especifca si las "arras se de"en aUadir
a un grfco ya existente* por de3ecto es 3alse.
args.legend: lista de argumentos adicionales 1ue se trans3erirn
a la leyenda legend(!* nom"res de la lista se utili4an como
nom"res de argumentos. 'lo se utili4a si se suministra
legend.text.
... argumentos 1ue se pasan a I de otros m5todos. <ara el m5todo
por de3ecto estos pueden incluir argumentos adicionales (tales
como 0ac0as, asp y principal! y los parmetros grfcos (5ase el
par! 1ue se pasan a plot.9indo9 (!, t(tulo (! y eje.
<ara di"ujar un diagrama de "arras con el pa1uete lattice de R
utili4amos la 3uncin (arc,art, a la 1ue 0ay 1ue proporcionarle
una 3rmula de la 3orma
nom"resJdeJlasJ"arrasmlongitudesJdeJlasJ"arras
si 1ueremos un diagrama de "arras 0ori4ontal, o de la 3orma
longitudesJdeJlasJ"arrasmnom"resJdeJlasJ"arras
si 1ueremos un diagrama de "arras ertical.
?am"i5n podemos proporcionar un ector num5rico con nom"res,
siendo este caso e1uialente a construir un diagrama de "arras
0ori4ontal proporcionando la 3rmula
nom"resJdeJlosJelementosmaloresJdeJlosJelementos
trellis.device(!)11!)
datos %& appl6(@GPNd,issions, c(1, *), su,)
datos[!Nd,itted!,]
barc1art(datos[!Nd,itted!,],
,ain !Colicitudes de ad,isi#n a Perkle6 (por
departa,entos)!,
)lab !:;,ero de alu,nos ad,itidos!)
dev.off()
< D7aHra=a :e @98tos
[n diagrama de puntos es una representacin grfca de una
aria"le, donde la magnitud de los alores se representan
mediante puntos a lo largo de una misma escala. Gl propsito de
un diagrama de puntos es presentar grfcamente la distri"ucin
de un conjunto num5rico de datos uniariante, siendo adecuado
en general para cual1uier tamaUo del conjunto de datos.
Gl diagrama de puntos se o"tiene a partir del conjunto de datos
fjando una escala 0ori4ontal y di"ujando, a lo largo de esa escala,
un punto por cada alor en una coordenada ertical distinta.
@ <ara di"ujar un diagrama de puntos con el lenguaje R
utili4amos la 3uncin dotplot, a la 1ue 0ay 1ue proporcionarle
una 3rmula de la 3orma
@ nom"resJdeJlosJaloresmalores
?am"i5n podemos proporcionar un ector num5rico con nom"res,
siendo este caso e1uialente a construir un grfco de puntos
proporcionando la 3rmula
nom"resJdeJlosJelementosmaloresJdeJlosJelementos
trellis.device(!)11!)
dotplot(datos[!Nd,itted!,],
KS
,ain !Colicitudes de ad,isi#n a Perkle6 (por
departa,entos)!,
)lab !:;,ero de alu,nos ad,itidos!)
dev.off()
PAETAS DE COORES
'e puede crear un ector de n colores contiguos usando las
siguientes paletas de colores.
arco iris (n, s E 1, E 1, start E M, fnal E mximo (1, n & 1! I n,
gamma E 1, alp0a E 1! gamma E 1, al3a E 1!
0eat.colors(n, alp0a E 1! 0eat.colors (n, al3a E 1!
terrain.colors(n, alp0a E 1! terrain.colors (n, al3a E 1!
topo.colors(n, alp0a E 1! topo.colors (n, al3a E 1!
cm.colors(n, alp0a E 1! cm.colors (n, al3a E 1!
Zrgumentos
n nmero de colores ( 1! 1ue de"e estar en la paleta.
s, la =saturacin= y =alor= 1ue se utili4an para completar las
descripciones de color ;'P.
start el mati4 o tono (corregido! en XM,1Y en el 1ue comien4a el
arco iris.
end el mati4 o tono (corregido! en XM,1Y en el 1ue termina el
arco iris.
gamma la correccin de gamma, 5ase el argumento de gamma
en 0s .
alp0a la transparencia al3a, un nmero en XM,1Y, ea argumento
alp0a en 0s .
< D7aHra=a :e :7s@ers7B8
[n diagrama de dispersin muestra directamente los alores de
la aria"le, di"ujando un punto por cada dato.
<ara di"ujar un diagrama de dispersin uniariante con el
lenguaje R utili4amos la 3uncin stripplot, a la 1ue 0ay 1ue
proporcionarle un ector con los datos.
trellis.device(!)11!)
stripplot(fait1fulSeruptions,
,ain !/rupciones del 4Tiser Old Mait1ful!,
)lab !Duraci#n (en ,inutos)!)
dev.off()
< D7aHra=a :e caJa D 57Hote
[n diagrama de caja y "igote es una 3orma coneniente de
descri"ir grfcamente un resumen estad(stico de un conjunto
cuantitatio de datos uniariante. Gste resumen consta del menor
alor, el primer cuartil, la mediana o segundo cuartil, el tercer
cuartil y el mayor alor.
Los diagramas de caja y "igote permiten mostrar isualmente
distintos tipos de po"laciones, sin necesidad de reali4ar
suposiciones acerca de la distri"ucin estad(stica 1ue siguen.
Zdems, permiten esta"lecer 3cilmente el niel de dispersin y
de asimetr(a de la po"lacin, as( como los posi"les alores
extremos.
<ara construir un diagrama de caja y "igote se di"uja un
rectngulo 1ue limite con el primer y el tercer cuartil, marcndose
en su interior la mediana con un punto. De este rectngulo se
extienden 0acia a3uera por am"os lados dos l(neas (los "igotes!
1ue contienen todos los alores 1ue se encuentran a lo sumo a
una distancia de 1,S eces el rango intercuart(lico respecto al
primer o al tercer cuartil. 6ual1uier otro alor 1ue se encuentre a
una distancia mayor (los alores extremos! se marca
indiidualmente.
<ara di"ujar un diagrama de caja y "igote con el lenguaje R
utili4amos la 3uncin (+plot, a la 1ue 0ay 1ue proporcionarle un
ector con los datos.
trellis.device(!)11!)
bwplot(fait1fulSeruptions,
KT
,ain !/rupciones del 4Tiser Old Mait1ful!,
)lab !Duraci#n (en ,inutos)!)
dev.off()
<ara comparar las distri"uciones de distintas po"laciones
podemos reali4ar un grfco 1ue contenga un diagrama de caja y
"igote para cada una de esas po"laciones. <ara conseguir ese
diagrama comparatio con la 3uncin "9plot 0ay 1ue utili4ar un
3actor de agrupacin de datos y la notacin 3actormalores o
aloresm3actor, segn 1ueramos los diagramas de caja y "igote
en 0ori4ontal o en ertical.
trellis.device(!)11!)
bwplot(CpeciesRCepal.aidt1, data iris, 1ori7ontal 5)
bwplot(Cepal.aidt1RCpecies, data iris, 1ori7ontal M)
dev.off()
< -7stoHra=a
[n 0istograma es una representacin grfca de una aria"le en
3orma de "arras, donde la superfcie de cada "arra es
proporcional a la 3recuencia de los alores representados. Gn el
eje ertical se representan las 3recuencias, y en el eje 0ori4ontal
los alores de las aria"les. Gl propsito de un 0istograma es
resumir grfcamente la distri"ucin de un conjunto cuantitatio
continuo de datos uniariante.
La 3orma ms comn del 0istograma se o"tiene diidiendo el
rango de datos (interalo entre el menor y el mayor alor! en
su"interalos (llamados clases! del mismo tamaUo. Gntonces se
cuenta para cada clase el nmero de elementos del conjunto de
datos 1ue caen dentro de ella y se di"uja una "arra de anc0ura la
amplitud de la clase y de altura la 3recuencia de elementos
o"tenida.
<ara di"ujar un 0istograma con el lenguaje R utili4amos la 3uncin
,istogram, a la 1ue 0ay 1ue proporcionarle un ector con los
datos.
trellis.device(!)11!)
1isto4ra,(fait1fulSeruptions, t6pe !count!,
,ain !/rupciones del 4Tiser Old Mait1ful!,
)lab !Duraci#n (en ,inutos)!,
6lab !Porcentaje del total!)
dev.off()
Las clases se pueden defnir de manera ar"itraria o usando una
regla sistemtica. La regla ms utili4ada es la regla de 'turges,
1ue esta"lece 1ue el nmero de clases, de la misma amplitud,
1ue de"en considerarse iene determinada por la 3rmula log8(n!
) 1, donde n es la cantidad de datos.
'i no se especifca lo contrario, la 3uncin 0istogram utili4a la
regla de 'turges para calcular el nmero de clases, pero podemos
fjar otro alor utili4ando el argumento nint.
trellis.device(!)11!)
1isto4ra,(fait1fulSeruptions, t6pe !count!, nint 22,
,ain !/rupciones del 4Tiser Old Mait1ful!,
)lab !Duraci#n (en ,inutos)!,
6lab !Porcentaje del total!)
dev.off()
?am"i5n podemos esta"lecer expl(citamente cules son los
extremos de las clases con el argumento (rea;s.
trellis.device(!)11!)
1isto4ra,(fait1fulSeruptions, t6pe !count!,
breaks se>(2, ?, b6 2.A.),
,ain !/rupciones del 4Tiser Old Mait1ful!,
)lab !Duraci#n (en ,inutos)!,
6lab !Porcentaje del total!)
dev.off()
KV
;ay dos ariantes del 0istograma 1ue se consiguen normali4ando
las 3recuencias de los datos en cada clase como sigue:
1. Gn lugar de las 3recuencias a"solutas se consideran las
3recuencias relatias (o los porcentajes! de los datos en cada
clase. De esta 3orma se o"tiene un 0istograma de 3recuencias
relatias (de porcentajes, respectiamente! en el 1ue las alturas
de las "arras di"ujadas suman 1 (o 1MM, respectiamente!. ?anto
el 0istograma de 3recuencias a"solutas como el 0istograma de
3recuencias relatias son los 0istogramas 1ue se de"en utili4ar
cuando todas las clases tienen la misma amplitud.
trellis.device(!)11!)
1isto4ra,(fait1fulSeruptions, t6pe !percent!,
,ain !/rupciones del 4Tiser Old Mait1ful!,
)lab !Duraci#n (en ,inutos)!,
6lab !Porcentaje del total!)
dev.off()
8. Gn lugar de las 3recuencias a"solutas se consideran las
3recuencias relatias multiplicadas por la amplitud de la clase. De
esta 3orma se o"tiene un 0istograma de densidades en el 1ue las
reas de las "arras suman 1. Gl 0istograma de densidades es el
0istograma 1ue se de"e utili4ar cuando las clases tienen
amplitudes distintas.
trellis.device(!)11!)
1isto4ra,(fait1fulSeruptions, t6pe !densit6!,
breaks c(2, 2, *, *.., ', '.., ., ...),
,ain !/rupciones del 4Tiser Old Mait1ful!,
)lab !Duraci#n (en ,inutos)!,
6lab !Porcentaje del total!)
dev.off()
< GrKFco :e :e8s7:a:
Los 0istogramas son grfcos simples y 3ciles de di"ujar 1ue
representan la distri"ucin de un conjunto num5rico de datos
uniariante. 'in em"argo, tienen una serie de inconenientes,
1ue se manifestan so"re todo con conjuntos de datos "imodales
y multimodales.
Gl principal inconeniente de los 0istogramas es 1ue su aspecto
depende 3uertemente de cules sean las clases escogidas para
di"ujarlo.
#tro pro"lema 1ue presentan es 1ue los rectngulos 1ue 3orman
un 0istograma 0acen 1ue pare4ca 1ue los datos se distri"uyen
uni3ormemente a lo largo de las clases, lo 1ue a menudo no es
as(. Zdems, el aspecto de un 0istograma no asemeja la
naturale4a suae en general de la distri"ucin de los datos.
[na 3orma de intentar eitar estos inconenientes de los
0istogramas es con los grfcos de densidad. Gstos muestran la
grfca de una 3uncin de densidad de los datos. [na idea
intuitia de cmo se calcula esta 3uncin de densidad es
promediar en cada punto las alturas de los rectngulos 1ue se
o"tienen cuando se consideran muc0os 0istogramas cuyos l(mites
de clases son ligeramente distintos.
<ara di"ujar un grfco de densidad con el lenguaje R utili4amos
la 3uncin densit!plot, a la 1ue 0ay 1ue proporcionarle un ector
con los datos. Gl argumento plot.points esta"lece si adems se
di"ujan los alores de los datos* puede tomar un alor lgico o
una de las cadenas =rug= o =jitter=.
trellis.device(!)11!)
densit6plot(fait1fulSeruptions, plot.points MNDC/,
,ain !/rupciones del 4Tiser Old Mait1ful!,
)lab !Duraci#n (en ,inutos)!,
6lab !Porcentaje del total!)
densit6plot(fait1fulSeruptions, plot.points 5"@/,
,ain !/rupciones del 4Tiser Old Mait1ful!,
)lab !Duraci#n (en ,inutos)!,
6lab !Porcentaje del total!)
densit6plot(fait1fulSeruptions, plot.points !ru4!,
,ain !/rupciones del 4Tiser Old Mait1ful!,
)lab !Duraci#n (en ,inutos)!,
6lab !Porcentaje del total!)
KW
densit6plot(fait1fulSeruptions, plot.points !jitter!,
,ain !/rupciones del 4Tiser Old Mait1ful!,
)lab !Duraci#n (en ,inutos)!,
6lab !Porcentaje del total!)
dev.off()
=X. &/ZFICO6 E64)D64ICO6 _I')/I)N4E6
plot(x, y, typeECpC, ltyE1:S, pc0E, colE1:O!, plot(x, y, typeECpC,
logE!
points(x, y, typeECpC, ltyE1:S, pc0E, colE1:O!
lines(x, y, typeEClC, ltyE1:S, pc0E, colE1:O!
a(line(coe3!, a"line(a, "!, a"line(reg!, a"line(0E!, a"line(E!
<<plot(x, y, plotE?R[G!, 11norm(x, dataxELZL'G, plotE?R[G!
=d. &/ZFICO6 4/IDI*EN6ION)0E6
contour(x, y, 4, , nintES, addELZL'G, la"els!
interp(x, y, 4, xo, yo, ncpEM, extrapELZL'G!
persp(4, eyeEc(&T,&W,S!, arE1!
=e. *a04I30E &/ZFICO6 3O/ 3Z&IN)
par
li"rary(=lattice=!
Zdicionalmente a los grfcos tradicionales de R, existe un
pa1uete llamado lattice 1ue proee 3unciones B?rellis `rap0icsC.
6uando usa una 3uncin grfca de lattice es importante declarar
su correspondiente dispositio usando Btrellis.deiceC antes de
usar el comando del grfco a usar.
IH. &/ZFICO6 DE 6E/IE6 4E*3O/)0E6
Las series temporales se suelen representar colocando la escala
temporal en el eje 0ori4ontal y considerando un punto del plano
por cada alor de la serie, en el 1ue la coordenada x corresponde
al momento temporal en 1ue se tom el dato y la coordenada y al
alor del dato. `eneralmente solo se di"ujan l(neas conectando
los puntos, aun1ue estos tam"i5n pueden di"ujarse
expl(citamente.
<ara di"ujar un grfco de una serie temporal con el lenguaje R
utili4amos la 3uncin x!plot, a la 1ue 0ay 1ue proporcionarle una
3rmula de la 3orma
aloresJdeJlaJseriemmomentosJtemporales
Gl alor del argumento type determina 1u5 se a a di"ujar: =l=
indica solo l(neas, =p= indica solo puntos, =(= indica am"os y =,=
indica "arras erticales.
trellis.deice(=F11=!
xyplot(Aile m time(Aile!, type E =l=,
main E =Llujo anual del r(o Ailo en Zsun (1WV1&1\VM!=,
xla" E =ZUo=,
yla" E =Llujo=!
xyplot(Aile m time(Aile!, type E =p=,
main E =Llujo anual del r(o Ailo en Zsun (1WV1&1\VM!=,
xla" E =ZUo=,
yla" E =Llujo=!
xyplot(Aile m time(Aile!, type E ="=,
main E =Llujo anual del r(o Ailo en Zsun (1WV1&1\VM!=,
K\
xla" E =ZUo=,
yla" E =Llujo=!
xyplot(Aile m time(Aile!, type E =0=,
main E =Llujo anual del r(o Ailo en Zsun (1WV1&1\VM!=,
xla" E =ZUo=,
yla" E =Llujo=!
de.on(!
I=. DI64/I_>CIONE6 DE 3/O_)_I0ID)D
R tiene las distri"uciones de pro"a"ilidad ms comunes
implementadas en la li"rer(a 7Z'G. 'in em"argo, en otras li"rer(as
se disponen de otras tantas.
<ara cada una de ellas (distrib), disponemos de O ersiones:
Qenerador de n;,eros aleatorios ..........rdistrib
Munci#n densidad8probabilidad.............ddistrib
Munci#n distribuci#n......................pdistrib
Munci#n inversa distribuci#n (cuantiles)..qdistrib
?eniendo en cuenta la siguiente ta"la de distri"uciones ms
comunes
Distribuci#n :o,bre en " ParK,etros
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
beta beta s1ape1, s1ape2
bino,ial bino, si7e, prob
bino,ial ne4ativa nbino, si7e, prob
Gauc16 cauc16 location, scale
c1i&cuadrado c1is> df
e)ponencial e)p rate
M f df1, df2
4a,,a 4a,,a s1ape, scale
4eo,Ttrica 4eo, prob
1iper4eo,Ttrica 16per ,, n, k
lo4Hstica lo4is location, scale
nor,al nor, ,ean, sd
nor,al lo4arHt,ica lnor, ,eanlo4, sdlo4
Poisson pois la,bda
t de Ctudent t df
unifor,e unif ,in, ,a)
aeibull weibull s1ape, scale
ailco)on wilco) ,, n
La 3uncin de generacin aleatoria de alores de"e reci"ir el
nmero de alores aleatorios a generar y, opcionalmente los
alores de sus parmetros.
rnor,(.) # 4enera . nb aleat. de una nor,al :(2,1)
rnor,(., ,ean 122, sd ')
'i 1ueremos o"tener la 3uncin de densidad, 5sta de"e reci"ir un
ector con los alores a los 1ue aplicar la 3uncin de densidad y,
opcionalmente, los alores de sus parmetros.
$ dnor,(2)
[1] 2.*B+B'2*
$ dnor,(B+-122, ,ean 122, sd ')
[1] 2.2++21?** 2.2B???A2* 2.2BBA*..A 2.2B???A2* 2.2++21?**
La 3uncin de distri"ucin de"e reci"ir un ector de cuantiles y,
opcionalmente, los alores de sus parmetros.
pnor,(2) # P[` % 2] en una :(2, 1)
2Fpt(&2.'*, df1*) # P&valor de dos colas de una t(1*)
pnor,(&1, ,ean 2, sd 2) # P[` % &1] en una :(2, ')
pnor,(&1, ,ean 2, sd 2, lower.tail MNDC/) # P[` $ &1]
en una :(2,')
lo+er.tail es un parmetro 1ue reci"e un alor lgico* si es ?R[G
(alor por de3ecto!, las pro"a"ilities son <XF xY, en otro caso,
<XF / xY.
La 3uncin cuantil de"e reci"ir un ector de pro"a"ilidades y,
opcionalmente, los alores de sus parmetros.
>nor,(2..) # ) tal >ue P[` % )] 2.. en una :(2, 1)
>nor,(2.A., ,ean 2, sd 2, lower.tail MNDC/)
# ) tal >ue P[` $ )] 2.A. en una :(2, ')
>f(2.BB,2,A) # Percentil BB de una distribuci#n M(2,A)
II. *>E64/EO )0E)4O/IO
OM
@ Loter(a primitia
sample(1:O\, si4e E T! @ 'in reempla4amiento
sample(1:O\, SM! @ Ao se pueden tomar SM "olas de O\ sin
reempla4amiento.
@ ?irada de un dado
sample(1:T, 1M, replace E ?! @ 6on reempla4amiento
sample(1:T, 1M, replace E ?,
pro" E c(rep(1I11, S!, TI11!! @ Dado cargado
@ La 3uncin paste concatena cadenas:
paste(c(=a=, ="=!, c(=c=, =d=!!
paste(c(=a=, ="=, =c=, =d=!, c(=e=, =3=!, =g=!
paste(c(=a=, ="=, =c=, =d=!, 1:O, sep E =&=!
paste(c(=a=, ="=, =c=, =d=!, 1:O, sep E =&=, collapse E = =!
@ La 3uncin outer aplica una misma 3uncin a pares de
elementos:
outer(c(1, 8!, 1:O! @ <or de3ecto multiplica.
outer(c(1, 8!, 1:O, L[A E =)=!
outer(c(=a=, ="=, =c=, =d=!, 1:K, L[A E =paste=!
@ [na "araja espaUola
"araja %& outer(c(=Z=, 8:1M, ='=, =6=, =R=!, c(=#=, =6=, =G=, =7=!,
L[A E =paste=!
@ Glegir S cartas
sample("araja, S!
@ ?iradas de dos dados
dados %& outer(1:T, 1:T, L[A E =paste=!
@ Reali4ar 1M tiradas
sample(dados, 1M, replace E ?!
IQ. 3/>E_)6 DE NO/*)0ID)D
Gl primer supuesto 1ue 0ay 1ue erifcar antes de aplicar la
mayor parte de los test estad(sticos en el Gn3o1ue 6lsico es si los
datos proceden de una distri"ucin normal. Gllo se puede erifcar
por arias ias:
< Me:7a8te e3 cK3c93o :e 3os esta:?st7cos :e s7=etr?a
&s6e;8ess' D :e a@98ta=7e8to &69rtos7s'
La s:e9ness nos indica cmo de sim5trica es nuestra distri"ucin.
6uando una distri"ucin presenta una s:e9nessEM diremos 1ue
es sim5trica.
':e9ness%M &/ Distri"ucin con cola alargada a la i41
':e9ness/M &/ Distri"ucin con cola alargada a la dc0a.
La :urtosis nos indica cmo de picuda es nuestra distri"ucin.
6uando una distri"ucin presenta una :urtosisEK diremos 1ue
presenta el mismo apuntamiento de una normal.
ourtosis/K &/ Distri"uciones picudas con colas gruesas (pesadas!
ourtosis%K &/ Distri"ciones aplanadas con colas delgadas
librar6(,o,ents)
skewness(datos)
kurtosis(datos)
O1
< Me:7a8te 3os HrKFcosC -7stoHra=asL :7aHra=a :e GoJas D
ra=as &ste=' o HrKFco :e 8or=a37:a: &MM8or='
1ist(datos)
>>nor,(datos)
abline(2,1) # Ncade una lHnea de '.b al 4rKfico J&J :or,al
6uando la normalidad se cumple, se puede o"serar 1ue los
datos representados en el grfco 11norm aparecen en una l(nea
de OSe.
< Me:7a8te test esta:?st7cos
s1apiro.test(datos) #5est de C1apiro&ailk
'i 1ueremos testear si arias po"laciones son normales, podemos
usar la 3uncin tappl!
tappl6(datos, factor, s1apiro.test)
re>uire(nortest)
ad.test(datos) # Nnderson&Darlin4
cv,.test(datos) # Gra,er&von 0ises
lillie.test(datos) # dol,o4orov&C,irnov con correcci#n de
Dillieford
#5a,biTn e)iste el test de dol,o4orov&
C,irnov sin la anterior correcci#n (ks&
test()) pero es ,ejor la anterior
pearson.test(datos) # Pearson
sf.test(datos) # C1apiro&Mrancia
O8

Вам также может понравиться