Sunteți pe pagina 1din 48

Estadstica

Aplicada II

1
Md 2
ulos: 3
Universidad
Autnoma de
Nuevo Len

PROGRAMACIN EN R

ANLISIS DE SUPERVIVENCIA

SERIES DE TIEMPO

Mtro. Andrs Carren


Lozano

Estadstica
Aplicada II

1
Md 2
ulos: 3
Universidad
Autnoma de
Nuevo Len

PROGRAMACIN EN R

ANLISIS DE SUPERVIVENCIA

SERIES DE TIEMPO

Mtro. Andrs Carren


Lozano

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.

setwd(C:/../) Define la ruta o direccin de la carpeta que


contiene los archivos de lectura.
source(nombre.R) Para leer un cdigo R.
save.image(nombre.RData) Para guardar el ambiente o espacio
de trabajo del usuario.
load(nombre.RData) Para cargar una sesin de trabajo deseada.
Se pueden ver los objetos creados mediante ls().
search() permite ver que paquetes estn dados de alta en la sesin.
Estadstica
Aplicada II

6
Mtro. Andrs Carren
Lozano

Introduccin

SCRIPTS Y CONVENCIONES

Mdulo I: R

Un script es el conjunto de lneas de comandos R que


se corrern en R .
Se guarda en un archivo de texto bajo la siguiente
convencin:
Nombre del archivo.R

El ambiente o espacio de trabajo de la sesin se


refiere exclusivamente a los objetos y funciones
generados, y no al conjunto de comandos que dan las
instrucciones para generar dichos objetos y funciones.
Nombre del archivo.RData

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

Ob. y Op. Bsicas

Mdulo I: R

FUNCIONES: seq y rep


Una secuencia de enteros puede generarse as:
seq.int <- 2:8
Otra forma es usando la funcin seq, que permite
especificar puntos iniciales y finales, longitud e
incrementos.
Ofrece nmeros ordenados no necesariamente enteros.
rep es una funcion muy til que permite, por lo menos,
inicializar vectores con un componente genrico:
init.vec <- rep(x = 0, times = 4)
Sin embargo, rep es ms verstil y toma vectores
como argumentos. Ms an, tiene el argumento each
las veces deseadas cada uno de los elementos del
vector x.

Estadstica
Aplicada II

9
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

Mdulo I: R

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
Definicin y tcnicas de construccin

Los vectores de caracteres y los vectores lgicos


tienen entradas con caracteres con valores
lgicos. Como los numricos, son de longitud n.
Se pueden formar vectores de caracteres con c :
seq.char <- c(uno, dos, tres)
o lgicos
seq.logic <- c(TRUE, FALSE, TRUE)
c funciona como se describi anteriormente en
relacin a los vectores numricos.
Tambin rep funciona como se describi con
vectores numricos.

Estadstica
Aplicada II

10
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

Mdulo I: R

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
Indexacin

Una de las virtudes de R como lenguaje de


programacin con datos es la habilidad de
indexar.
As, las entradas de los vectores de cualquier tipo
estn indexadas y se puede acceder a ellas indicando
el nmero de la entrada que se desea.
Esto tambin se logra mediante una condicin lgica.
Si seq.char es un vector de caracteres,
seq.char[ c( 1, 3 ) ]
seq.char[ condicion.logica ]
Tambin podemos definir entradas por exclusin
vecx[ -c( 1, 3 ) ]
i.e. (todos excepto el primero y el tercero).
Estadstica
Aplicada II

11
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
Sustitucin
Es posible realizar asignaciones a entradas particulares de los vectores,

Mdulo I: R

seleccionando y asignando nuevos valores:


#vector de caracteres
seq.char <- c("uno", "dos", "tres")
#seleccion y sustitucion
seq.char[ 2 ] <- "lo que sea
# equivalentemente
seq.logic <- seq.char == "dos" #vector logico
seq.char[ seq.logic ] <- "lo que sea
# o por exclusion
seq.char[ -c(1, 3) ] <- "lo que sea"
Esta tcnica es suficientemente general y se puede
aplicar a casi cualquier objeto subsetable.
Estadstica
Aplicada II

12
Mtro. Andrs Carren
Lozano

Mdulo I: R

Introduccin

Ob. y Op. Bsicas

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
Operadores ms comunes
Existen operadores binarios que permiten
comparar elemento por elemento dos
vectores: ==, <, >, <=, >=, ! (negacin de
un vector lgico).
Al aplicarlos, estos operadores resultan en
vectores lgicos de longitud igual a la de los
vectores considerados.
Operadores booleanos: |, ||, &, &&.
Las versiones largas || y && funcionan con
vectores de longitud 1 y resultan en un simple
valor lgico.
Los operadores booleanos resultan en
vectores lgicos de longitud igual a las de los
13
Estadstica
Mtro. Andrs Carren
vectores
considerados para las versiones
Aplicada
II
Lozano

Mdulo I: R

Introduccin

Ob. y Op. Bsicas

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
Tests y coerciones
Se puede comprobar el tipo de un vector
mediante
is.numeric, is.double, is.integer,
is.character,
is.logical.
Asimismo, se puede forzar (convertir) un vector
a que sea
de cierto tipo mediante as.numeric,
as.double, as.integer, as.character,
as.logical.
Estadstica
Aplicada II

14
Mtro. Andrs Carren
Lozano

Mdulo I: R

Introduccin

Ob. y Op. Bsicas

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
Matrix
Mediante matrix es posible construir
matrices, especificando el nmero de
columnas y renglones:
mat.ceros <- matrix(0, ncol = 3, nrow = 4)
Se pueden construir por renglones o por
columnas.
Pueden ser con entradas numricas, lgicas,
de caracter.
Se pueden hacer las operaciones aritmticas
revisadas, y tambin se puede usar exp y
log. Todas estas funciones operan entrada
por entrada.
Estadstica
Aplicada II

15
Mtro. Andrs Carren
Lozano

Mdulo I: R

Introduccin

Ob. y Op. Bsicas

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
Seleccin y asignacin por elemento
Una matriz en R tambin es posible de
indexarla en sus renglones y columnas (es
subsetable).
Esto nos da la posibilidad de seleccionar y
sustituir valores como en el caso de los
vectores.
Ahora, sin embargo debemos operar sobre
dos ndices.
Para seleccionar el ij-simo elemento de una
matriz nm:
mat[ i, j ]
Para asginar un nuevo valor al ij-simo
elemento usamos
16

Estadstica
Aplicada II

Mtro. Andrs Carren


Lozano

Mdulo I: R

Ob. y Op. Bsicas

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

Ob. y Op. Bsicas

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

Ob. y Op. Bsicas

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

Ob. y Op. Bsicas

Mdulo I: R

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
Mtodos
comunes
dim: obtiene las dimensiones de una matriz
diag: extrae y asigna elementos a la diagonal
solve: obtiene la inversa de una matriz y resuelve
sistemas de ecuaciones
crossprod: XTY
tcrossprod: XYT
kronecker: X Y
t: XT
Para aumentar matrices
rbind: por renglones
cbind: por columnas
col y row resultan en matrices lgicas, lo que permite definir
condiciones sobre renglones y columnas.

Estadstica
Aplicada II

20
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

Mdulo I: R

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
rbind & cbind

Las funciones rbind y cbind permiten concatenar,


aumentar, matrices por columnas o por renglones.
Si A y B son matrices de dimensiones m n y l n,
entonces
Z <- rbind(A, B)
resulta en una matriz Z de dimensiones m+l n.
Si A y B son matrices de dimensiones m n y m l,
entonces
Z <- cbind(A, B)
resulta en una matriz Z de dimensiones m n +l.
Las dimensiones tienen que ser compatibles.
Acepta ms de dos argumentos.

Estadstica
Aplicada II

21
Mtro. Andrs Carren
Lozano

Mdulo I: R

Introduccin

Ob. y Op. Bsicas

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
Factores
Los factores son vectores usados para
especificar una clasificacin (representan
variables discretas).
Los grupos que representan la clasificacin
pueden tener asociado, o no, un orden.
Son muy usados en frmulas de anlisis
estadsticos.
Se pueden formar usando factor, as.factor,
ordered, as.ordered.
Un factor tiene niveles y stos se pueden
consultar mediante levels.
Es posible esfecificar un orden entre los
distintos niveles.
22

Estadstica
Aplicada II

Mtro. Andrs Carren


Lozano

Introduccin

Ob. y Op. Bsicas

Mdulo I: R

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
Data
Frame
Los data-frames son tablas con datos cuyos columnas son
todas vectores o factores.
Los vectores pueden ser de distinto tipo: numricos, de
caracter, factores.
Es el objeto que nos permite almacenar las informacin de las
variables de un estudio de tal forma que muchos anlisis
puedan operar sobre ella.
data.frame
data.frame(..., row.names = NULL,
check.rows = FALSE, check.names = TRUE,
stringsAsFactors = default.stringsAsFactors())
... permite especificar los vectores que constiuirn las columnas
del data-frame.
Estadstica
Aplicada II

23
Mtro. Andrs Carren
Lozano

Mdulo I: R

Introduccin

Ob. y Op. Bsicas

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
Data Frame
Muchas funciones de importacin o de lectura
de datos externos ofrecen como resultado un
data-frame.
Se pueden usar rbind y cbind de manera
similar al uso que tienen cuando se trata de
matrices.
Tanto factores como data-frames son
subsetables, por lo que se pueden aplicar
las tcnicas de seleccin y sustitucin de
vectores (factores), o de matrices (dataframes).
Un operador de seleccin nuevo es $, que
permite seleccionar una columna por su
24
Estadstica
Mtro. Andrs Carren
nombre
Aplicada II
Lozano

Mdulo I: R

Introduccin

Ob. y Op. Bsicas

A. MATRICES, VECTORES, FACTORES Y


DATA FRAMES
Data Frame Seleccin y Asignacin
Se pueden seleccionar columnas mediante
vectores de caracteres que contengan los
nombres correspondientes.
El operador $ permite seleccionar columnas y
formar condiciones (vector auxiliar) para la
seleccin de renglones de un data-frame
atendiendo a los niveles de columnas en
el data-frame. Ver ejemplos en los scripts.
Un objeto de clase data.frame tiene asociado
el mtodo summary, que da distinta
informacin estadstica dependiendo del tipo
de variables que contenga el objeto.
Estadstica
Aplicada II

25
Mtro. Andrs Carren
Lozano

Mdulo I: R

Introduccin

Ob. y Op. Bsicas

B. DATA FRAMES, LISTAS, DATOS


FALTANTES Y NOMBRES
Datos Faltantes
Frecuentemente, los data-frame contienen
datos faltantes en algunas de sus columnas.
Los datos faltantes se especifican mediante
NA.
Los datos faltantes son problematicos y
muchas funciones en R tienen opciones para
decidir que hacer con datos faltantes.
La funcin is.na es muy til para hacer
imputacin de datos faltantes de un vector.
Genera un vector lgico y puede ser usado
para seleccionar y asignar un valor imputado
x[ is.na(x) ] <- valor.de.imputacion
Estadstica
Aplicada II

26
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

B. DATA FRAMES, LISTAS, DATOS


FALTANTES Y NOMBRES
Listas

Mdulo I: R

Las listas son objetos que tienen por elementos o


componentes otros objetos, de la clase que sean, no
necesariamente todos de la misma, incluyendo listas.
En ese sentido, las listas son objetos recursivos. Un
vector, por ejemplo, es atmico.
La forma ms inmediata de inicializar una lista es
mediante list:
listax <- list()
lo que genera una lista vaca, lista para ser llenada.
Mediante [[ ]] podemos seleccionar (y asignar)
elementos a la lista. Por ejemplo:
listax[[ 1 ]] <- objeto
asigna al primer elemento de la lista un cierto
objeto (que puede ser lo que sea).
Estadstica
Aplicada II

27
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

B. DATA FRAMES, LISTAS, DATOS


FALTANTES Y NOMBRES
Listas Indexacin

Mdulo I: R

Dicha asignacin puede empezar por el primer


elemento, o por cualquiera. El orden se respetar.
Si los elementos de una lista estn nombrados, se
puede acceder a ellos mediante su nombre (como en el
caso de los data-frames).
Se puede tambin acceder a conjunto de elementos de
una lista mediante el nmero que les corresponde.
#seleccion por nombre
listax$nombre.del.elemento
#equivalentemente
listax[[ "nombre.del.elemento" ]]
#seleccionando del primer al tercer elemento
listax[ 1:3 ]
Estadstica
Aplicada II

28
Mtro. Andrs Carren
Lozano

Mdulo I: R

Introduccin

Ob. y Op. Bsicas

B. DATA FRAMES, LISTAS, DATOS


FALTANTES Y NOMBRES
Longitudes de los objetos
Los objetos que se han revisado, es decir,
vectores, matrices, data-frames y listas,
tienen todos atributos de longitud.
Mediante length se obtiene la longitud de un
objeto dado.
Mediante dim se obtienen las longitudes de
las dimensiones de un objeto
multidimensional (matrices y data-frames).
Mediante nrow y ncol se obtiene el nmero
de reglones o de columnas de una matriz o
data-frame.

Estadstica
Aplicada II

29
Mtro. Andrs Carren
Lozano

Mdulo I: R

Introduccin

Ob. y Op. Bsicas

B. DATA FRAMES, LISTAS, DATOS


FALTANTES Y NOMBRES
Longitudes de los objetos
Los objetos que se han revisado, es decir,
vectores, matrices, data-frames y listas,
tienen todos atributos de longitud.
Mediante length se obtiene la longitud de un
objeto dado.
Mediante dim se obtienen las longitudes de
las dimensiones de un objeto
multidimensional (matrices y data-frames).
Mediante nrow y ncol se obtiene el nmero
de reglones o de columnas de una matriz o
data-frame.

Estadstica
Aplicada II

30
Mtro. Andrs Carren
Lozano

Mdulo I: R

Introduccin

Ob. y Op. Bsicas

B. DATA FRAMES, LISTAS, DATOS


FALTANTES Y NOMBRES
Lectura de BASES DE DATOS
read.table y read.csv son representantes
de una familia amplia de funciones que
permiten leer tablas de datos en archivos de
texto.
Estas funciones leen archivos en formato de
tabla y dan por resultado un data-frame.
Dependiendo de cmo se codifiquen los
espacios entre datos (espacios en blanco,
comas, puntos) y algunos otros atributos, se
usarn las distintas funciones (ver
documentacin).

Estadstica
Aplicada II

31
Mtro. Andrs Carren
Lozano

Mdulo I: R

Introduccin

Ob. y Op. Bsicas

B. DATA FRAMES, LISTAS, DATOS


FALTANTES Y NOMBRES
Lectura de BASES DE DATOS
Argumentos de read.table():
file ruta al archivo de datos (caracteres).
header valor lgico para indicar si el archivo
de datos tiene en su primer lnea el nombre
de las columnas.
sep el caracter entrecomillado que separa los
los datos (en read.csv el caracter por defecto
es una coma).
row.names y col.names son vectores de
caracteres que especifican nombres de
renglones y de columnas, respectivamente.
dec el caracter que se usa para especificar el
punto decimal (en Europa es una coma).
32

Estadstica
Aplicada II

Mtro. Andrs Carren


Lozano

Ob. y Op. Bsicas

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

Ob. y Op. Bsicas

B. DATA FRAMES, LISTAS, DATOS


FALTANTES Y NOMBRES
Names; Dimnames

Mdulo I: R

names tambin permite asignar nombres a un objeto


(mediante un vector de caracteres):
names(x) <- nombres
En los objetos bidimensionales como matrix y
data.frame es neceseario usar dimnames, para
extraer y asignar nombres a ambas dimensiones.
Los nombres de objetos bidimensionales se agrupan en
una lista, en la que el primer componente contiene el
vector de caracteres con los nombres de los renglones,
y el segundo vector de caracteres con los de las
columnas.
Para asignar nombres usamos, si x es bidimensional,
dimnames(x) <- lista(nombres.de.renglones,
nombres.de.columas)

Estadstica
Aplicada II

34
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

Mdulo I: R

B. DATA FRAMES, LISTAS, DATOS


FALTANTES Y NOMBRES
Paste

paste es una funcin muy til en la


construccin de nombres.
paste convierte argumentos vectores
a vectores de caracteres y los
concatena mediante un caracter de
separador sep:
paste(..., sep = " ", collapse = NULL)

Estadstica
Aplicada II

35
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

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

Ob. y Op. Bsicas

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

Ob. y Op. Bsicas

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

Ob. y Op. Bsicas

Grficas

Loops functions

FUNCIN: for

Mdulo I: R

En R se puede repetir un cojunto de expresiones mediante for


(loops), repeat y while.
for permite iterar explcitamente mediante un contador o ndice,
lo cual ofrece mucha ventaja pues se puede seleccionar y asignar
en objetos subsetable de manera precisa y compleja.

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

Ob. y Op. Bsicas

Grficas

Loops functions

FUNCIN: for

Mdulo I: R

En R se puede repetir un cojunto de expresiones mediante for (loops), repeat y


while.
for permite iterar explcitamente mediante un contador o ndice, lo cual ofrece
mucha ventaja pues se puede seleccionar y asignar en objetos subsetable de
manera precisa y compleja.
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)
seq vector o una expresin que resulte en un vector, de donde var tomar sus
valores; por ejemplo, 1:20. Tambin se pueden usar vectores de caracteres.
expr_1, ..., expr_n es el conjunto de expresiones que se evaluarn repetitivamente,
algunas de las cuales pueden ser indexadas por i, o no, a medida que var avanza por
seq.

Estadstica
Aplicada II

40
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

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

Ob. y Op. Bsicas

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

Ob. y Op. Bsicas

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

Ob. y Op. Bsicas

Grficas

Loops functions

Mdulo I: R

FUNCIN: if & else


if y else se usan con una condicin y una expresin o un grupo de
expresiones para cuando la condicin es verdadera y otro para cuando es
falsa (else).
if(condicion){
expr_1 #1era expresion
...
expr_n #n-esima expresion
}
else{
expralt_1 #1era expresion
...
expralt_m #m-esima expresion
}
Observe cmo else est indentado y las expresiones en corchetes tambin
(con respecto a else). Es importante conservar esta regla de codificacin.

Estadstica
Aplicada II

44
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

Grficas

Loops functions

CONSTRUCCIN DE FUNCIONES

Mdulo I: R

Hemos visto y usado funciones a travs de la llamada de funcin


nombre.de.funcion(arg1, arg2, ..., argn)
la cual ejecuta la funcin.
Si la funcin produce un resultado, ste se puede asignar a un
objeto x, por ejemplo:_
x <- nombre.de.funcion(arg1, arg2, ..., argn)
Esto es vlido para funciones ya existentes. Ahora veremos cmo
construir funciones.
Para esto se hace uso de la funcin function.
Estadstica
Aplicada II

45
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

Grficas

Loops functions

CONSTRUCCIN DE FUNCIONES

Mdulo I: R

Una funcin se define mediante una asignacin de la forma


nombre_funcion <- function(arg_1, ..., arg_n, ...){
expr_1
...
expr_m
}
Donde:
arg_1, ..., arg_n son los argumentos que tomar funcin ...
(los del final) son argumentos adicionales no especificados pero
que se pueden especificar al llamar la funcin y los cuales sirven
de argumentos a otra funcin que se llama dentro de la funcin
Las expresiones expr_1, ..., expr_n entre corchetes son el
cuerpo de la funcin
Estadstica
Aplicada II

46
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

Grficas

Loops functions

CONSTRUCCIN DE FUNCIONES

Mdulo I: R

Una funcin se define mediante una asignacin de la forma


nombre_funcion <- function(arg_1, ..., arg_n, ...){
expr_1
...
expr_m
}
Donde:
arg_1, ..., arg_n son los argumentos que tomar funcin ...
(los del final) son argumentos adicionales no especificados pero
que se pueden especificar al llamar la funcin y los cuales sirven
de argumentos a otra funcin que se llama dentro de la funcin
Las expresiones expr_1, ..., expr_n entre corchetes son el
cuerpo de la funcin
Estadstica
Aplicada II

47
Mtro. Andrs Carren
Lozano

Introduccin

Ob. y Op. Bsicas

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

S-ar putea să vă placă și