Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Aplicada II
1
Md 2
ulos: 3
Universidad
Autnoma de
Nuevo Len
PROGRAMACIN EN R
ANLISIS DE SUPERVIVENCIA
SERIES DE TIEMPO
Estadstica
Aplicada II
1
Md 2
ulos: 3
Universidad
Autnoma de
Nuevo Len
PROGRAMACIN EN R
ANLISIS DE SUPERVIVENCIA
SERIES DE TIEMPO
Introduccin
Mdulo I: R
QU ES R?
R es un lenguaje de alto nivel, orientado a objetos,
para programar rutinas que tienen como objetivo el
anlisis estadstico de datos y la generacin de
grficas.
Es una implementacin de S, de John Chambers. The
S language is often the vehicle of choice for research
in statistical methodology...
Es parte del proyecto GNU, y por lo tanto es libre
(free).
Est constituido por un paquete base y un conjunto de
paquetes adicionales que realizan cmputos
especficos.
Estos paquetes son contribuidos por la comunidad
estadstica y amplan la funcionalidad de R .
Estadstica
Aplicada II
3
Mtro. Andrs Carren
Lozano
Introduccin
Mdulo I: R
QU ES R?
CRAN (Comprehensive R Archive Network). Es
el sitio
donde R , sus paquetes, documentacin y
proyectos estn disponibles.
http://cran.r-project.org/
http://www.r-project.org/
Manuales
http://cran.r-project.org/manuals.html
Estadstica
Aplicada II
4
Mtro. Andrs Carren
Lozano
Introduccin
Mdulo I: R
QU ES R?
R dispone de una consola o interface de lnea
de comandos (CLI).
Esta CLI es algo anticlimtica en su uso. Para
ello, hay un conjunto de editores de R
disponibles en la red.
Tinn-R: http://www.sciviews.org/Tinn-R/
R Studio: http://www.rstudio.org/
RKward: http://rkward.sourceforge.net/
Estadstica
Aplicada II
5
Mtro. Andrs Carren
Lozano
Introduccin
Mdulo I: R
SESIN EN R
Al correr R , se inicia una sesin. La sesin consta de varios
ambientes (conjunto de objetos).
El ambiente de la sesin de usuario contiene los objetos que el
usuario ha ido generando durante la sesin.
NOTA: Los OBJETOS pueden ser vectores, matrices, data-frames (tablas
de datos), arreglos, listas, expresiones, funciones, asignadores,
operadores, etctera.
6
Mtro. Andrs Carren
Lozano
Introduccin
SCRIPTS Y CONVENCIONES
Mdulo I: R
Estadstica
Aplicada II
7
Mtro. Andrs Carren
Lozano
Introduccin
Mdulo I: R
DOCUMENTACIN EN R
En R , los cmputos, operaciones, grficas se
realizan llamando funciones.
Es comn consultar algunos elementos de
inters, siendo de utilidad las siguientes
funciones:
help(nombre_de_la_funcion), para consultar
desde
la consola o algn editor.
?nombre_de_la_funcion, alternativamente.
??keyword busca la documentacin existen
acerca del
tema keyword.
Estadstica
Aplicada II
8
Mtro. Andrs Carren
Lozano
Introduccin
Mdulo I: R
Estadstica
Aplicada II
9
Mtro. Andrs Carren
Lozano
Introduccin
Mdulo I: R
Estadstica
Aplicada II
10
Mtro. Andrs Carren
Lozano
Introduccin
Mdulo I: R
11
Mtro. Andrs Carren
Lozano
Introduccin
Mdulo I: R
12
Mtro. Andrs Carren
Lozano
Mdulo I: R
Introduccin
Mdulo I: R
Introduccin
14
Mtro. Andrs Carren
Lozano
Mdulo I: R
Introduccin
15
Mtro. Andrs Carren
Lozano
Mdulo I: R
Introduccin
Estadstica
Aplicada II
Mdulo I: R
Introduccin
A.
MATRICES, VECTORES, FACTORES Y
DATA FRAMES
Seleccin y asignacin por columna o por
rengln
Tambin es posible seleccionar y asignar a
todo un rengln o todo una columna de una
matriz mat de dimensiones nm.
Para el i-simo rengln:
mat[ i, ] <- vector
donde vector es un vector con de longitud
n.
Para la j-simo rengln:
mat[ , j ] <- vector
donde vector es un vector con de longitud
m.
Estadstica
Aplicada II
17
Mtro. Andrs Carren
Lozano
Mdulo I: R
Introduccin
A.
MATRICES, VECTORES, FACTORES Y
DATA FRAMES
Seleccin y asignacin por sumatrices o
subconjuntos
Tambin es posible seleccionar y asignar
subconjuntos de una matriz mat de
dimensiones n m.
Para los renglones a,b, c:
mat[ c(a, b, c), ] <- matriz
donde matriz es una matriz 3 n.
Similarmente, se puede proceder para
columnas.
Para sustituir una cierta submatriz definida
por los renglones a,b, c y las columnas x, y:
mat[ c(a, b, c), c(x, y) ] <- matriz
donde matriz es una matriz 3 2.
Estadstica
Aplicada II
18
Mtro. Andrs Carren
Lozano
Mdulo I: R
Introduccin
A.
MATRICES, VECTORES, FACTORES Y
DATA FRAMES
Seleccin y asignacin por matrices
lgicas
Tambin es posible seleccionar y asignar
subconjuntos de una matriz mat de
dimensiones n m mediante una matriz
lgica mat.logic (de dimensiones n m).
mat[ mat.logic ] <- objeto
donde objeto es algn objeto consistente
con los valores verdaderos de mat.logic
Cuando se usa una matriz lgica como
objeto auxiliar, no es necesario indexar; se
usa simplemente dentro de [ ].
Tambin se puede usar un vector lgico para
operar sobre algunos renglones o
columnas; en este caso, es necesario
19
Estadstica
Mtro. Andrs Carren
indexar:
Aplicada
II
Lozano
Introduccin
Mdulo I: R
Estadstica
Aplicada II
20
Mtro. Andrs Carren
Lozano
Introduccin
Mdulo I: R
Estadstica
Aplicada II
21
Mtro. Andrs Carren
Lozano
Mdulo I: R
Introduccin
Estadstica
Aplicada II
Introduccin
Mdulo I: R
23
Mtro. Andrs Carren
Lozano
Mdulo I: R
Introduccin
Mdulo I: R
Introduccin
25
Mtro. Andrs Carren
Lozano
Mdulo I: R
Introduccin
26
Mtro. Andrs Carren
Lozano
Introduccin
Mdulo I: R
27
Mtro. Andrs Carren
Lozano
Introduccin
Mdulo I: R
28
Mtro. Andrs Carren
Lozano
Mdulo I: R
Introduccin
Estadstica
Aplicada II
29
Mtro. Andrs Carren
Lozano
Mdulo I: R
Introduccin
Estadstica
Aplicada II
30
Mtro. Andrs Carren
Lozano
Mdulo I: R
Introduccin
Estadstica
Aplicada II
31
Mtro. Andrs Carren
Lozano
Mdulo I: R
Introduccin
Estadstica
Aplicada II
Mdulo I: R
Introduccin
B.
DATA FRAMES, LISTAS, DATOS
FALTANTES Y NOMBRES
Almacenamiento de matrices y dataLa
contraparte
deSistema
leer datos de esta forma nos la da
frames
en el
write.table.
Esta funcin permite guardar matrices y data-frames de R
en formato de texto.
Argumentos:
x objeto (data.frame)
file ruta para al archivo (caracteres)
append valor lgico para indicar si el archivo ser
anexado al final de uno existente (con el mismo
nombre) o no
sep el caracter entrecomillado que separar los datos
(en
write.csv el caracter por defecto es una coma).
row.names y col.names son valores lgico que
indican si los nombres de renglones y de columnas
33
Estadstica
Mtro. Andrs Carren
sern
includos.
Aplicada II
Lozano
Introduccin
Mdulo I: R
Estadstica
Aplicada II
34
Mtro. Andrs Carren
Lozano
Introduccin
Mdulo I: R
Estadstica
Aplicada II
35
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
Mdulo I: R
GRUPOS DE EXPRESIONES
R es un lenguaje de expresiones en el sentido de que el nico
tipo de comando que existe es una llamada de funcin o una
expresin que ofrece un resultado. Incluso una asignacin es una
expresin.
Las expresiones se pueden agrupar:
{expr_1; ...; expr_n}
#o bien
{
expr_1
...
expr_n
}
#esta ultima forma es la tipicamente usada
#en iteraciones y ciclos
Estadstica
Aplicada II
36
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
Mdulo I: R
FUNCIN cat
cat es una funcin parecida a paste, pero sirve para imprimir
cadenas (strings) de caracteres en la consola de R .
Convierte objetos a caracteres y los une con otros. Es muy til
en ciclos o iteraciones, aunque su uso no se limita a estos.
Permite imprimir mensajes en pantalla, indicando la iteracin
o eventos especiales (definidos por el usuario).
Por ejemplo, si i es un entero en un iterador
cat("\niteracion\n", i, sep=" ") #produce
iteracion 1
iteracion 2
#para la primera y segunda iteraciones
#(\n, produce renglones)
Estadstica
Aplicada II
37
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
Mdulo I: R
FUNCIN print
print es una funcin genrica, que provee de varios mtodos
e imprime el contenido de un objeto en la pantalla.
Se puede usar en ciclos o iteraciones, porque dentro de stos
no se imprime en pantalla (como en los scripts).
print
print(x, digits = NULL, quote = TRUE,
na.print = NULL, print.gap = NULL,
right = FALSE, max = NULL,
useSource = TRUE, ...)
Donde:
x es objeto
digits el nmero mnimo de dgitos significativos para
imprimir
Estadstica
Aplicada II
38
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
FUNCIN: for
Mdulo I: R
for(var in seq){
expr_1 #primera expresion
...
expr_n #n-esima expresion
}
Donde:
var nombre de una variable, (i o alguna otra letra, por
ejemplo)
Estadstica
Aplicada II
39
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
FUNCIN: for
Mdulo I: R
Estadstica
Aplicada II
40
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
Mdulo I: R
FUNCIN: for
Otra estructura de control muy usada es while, que repite un
grupo de expresiones hasta que una condicin no se cumpla.
Una condicin es un valor lgico.
while(condicion){
expr_1 #primera expresion
...
expr_n #n-esima expresion
}
En algn lugar del grupo de expresiones anteriores se
actualiza la condicin, tpicamente al final o cerca de ste.
while es muy usado en problemas de convergencia, en
donde la condicin es el criterio de convergencia.
Estadstica
Aplicada II
41
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
Mdulo I: R
FUNCIN: repeat
Otra estructura de control muy usada es repeat, que repite un
grupo de expresiones hasta que una condicin se cumpla.
repeat{
expr_1 #primera expresion
...
expr_n #n-esima expresion
if(condicion) break #detiene la repeticion
}
Prcticamente se puede intercambiar while y repeat (con las
adecuaciones correspondientes).
Estadstica
Aplicada II
42
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
Mdulo I: R
FUNCIN: if
if se usa con una condicin y una expresin o grupo de
expresiones, que se ejecutan cuando la condicin asume un
valor lgico verdadero.
if(condicion) expresion
#o bien
if(condicion){
expr_1 #1era expresion
...
expr_n #n-esima expresion
}
Nota importante: la condicin (y lo mismo vale para cuando se
usa while y repeat) es un vector lgico de longitud uno.
Estadstica
Aplicada II
43
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
Mdulo I: R
Estadstica
Aplicada II
44
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
CONSTRUCCIN DE FUNCIONES
Mdulo I: R
45
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
CONSTRUCCIN DE FUNCIONES
Mdulo I: R
46
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
CONSTRUCCIN DE FUNCIONES
Mdulo I: R
47
Mtro. Andrs Carren
Lozano
Introduccin
Grficas
Loops functions
FUNCIONES - ejemplos
Mdulo I: R
ejemplo: prueba t
##calcula el estadistico t bajo H0
ttest <- function(x, H0 = 0){
m <- mean(x) #media
s <- sqrt(var(x)) #desviacion estandar
n <- length(x) #n
result <- sqrt(n)*(m - H0)/s #estadistico t
result #resultado
}
ejemplo - hola.mundo sin argumentos
hola.mundo <- function( ){
a <- "Hola mundo!" #vector de caracteres
print(a) #imprime el contenido de a
}
Estadstica
Aplicada II
48
Mtro. Andrs Carren
Lozano