Upload
obeedesparza
View
220
Download
0
Embed Size (px)
Citation preview
7/24/2019 EA2 - Mdulo 1_R
1/48
PROGRAMACIN EN R
ANLISIS DE SUPERVIVENCIA
SERIES DE TIEMPO
1
23Mdulos:UniversidadAu!n"#a deNuev" Le!n
Mr"$ Andr%s Carre!nL"&an"
Esad'si(aA)*i(ada II
7/24/2019 EA2 - Mdulo 1_R
2/48
PROGRAMACIN EN R
ANLISIS DE SUPERVIVENCIA
SERIES DE TIEMPO
1
23Mdulos:UniversidadAu!n"#a deNuev" Le!n
Mr"$ Andr%s Carre!nL"&an"
Esad'si(aA)*i(ada II
7/24/2019 EA2 - Mdulo 1_R
3/48
3
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
R es un lenguaje de alto nivel, orientado a objetos,para programar rutinas que tienen como objetivo elanlisis estadstico de datos y la generacin degrfcas
!s una implementacin de ", de #o$n %$ambers The
S language is often the vehicle of choice for researchin statistical methodology...
!s parte del proyecto &'(, y por lo tanto es libre)*ree+
!st constituido por un paquete base y un conjunto de
paquetes adicionales que realian cmputosespecfcos
!stos paquetes son contribuidos por la comunidadestadstica y amplan la *uncionalidad de R
+,U- ES R.
7/24/2019 EA2 - Mdulo 1_R
4/48
-
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
%R.' )%ompre$ensive R .rc$ive 'et/or0+ !sel sitio
donde R , sus paquetes, documentacin yproyectos estn disponibles
$ttp:11cranr2projectorg1$ttp:11///r2projectorg1
Manuales
$ttp:11cranr2projectorg1manuals$tml
+,U- ES R.
7/24/2019 EA2 - Mdulo 1_R
5/48
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
R dispone de una consola o inter*ace de lneade comandos )%4I+
!sta %4I es algo anticlimtica en su uso 5araello, $ay un conjunto de editores de R
disponibles en la red
6inn2R: $ttp:11///scivie/sorg16inn2R1
R "tudio: $ttp:11///rstudioorg1
R7/ard: $ttp:11r0/ardsource*orgenet
1
+,U- ES R.
http://www.sciviews.org/Tinn-R/http://www.rstudio.org/http://rkward.sourceforge.net/http://rkward.sourceforge.net/http://rkward.sourceforge.net/http://rkward.sourceforge.net/http://www.rstudio.org/http://www.rstudio.org/http://www.sciviews.org/Tinn-R/http://www.sciviews.org/Tinn-R/7/24/2019 EA2 - Mdulo 1_R
6/48
8
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
.l correr R , se inicia una sesin 4a sesin consta de variosambientes )conjunto de objetos+
!l ambiente de la sesin de usuario contiene los objetos que elusuario $a ido generando durante la sesin
'96.:4osO/0ETOSpueden ser vectores, matrices, data2*rames )tablas
de datos+, arreglos, listas, epresiones, funciones, asignadores,operadores, etc;tera
sedC456$$578
7/24/2019 EA2 - Mdulo 1_R
7/48
=
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
(n scriptes el conjunto de lneas de comandos R quese corrern en R
"e guarda en un ar(;iv" de e
7/24/2019 EA2 - Mdulo 1_R
8/48
>
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
!n R , los cmputos, operaciones, grfcas serealian llamando funciones
!s com?n consultar algunos elementos deinter;s, siendo de utilidad las siguientes
*unciones:;e*)n"#9re>de>*a>?un(i"n8, para consultardesde
la consola o alg?n editor
.n"#9re>de>*a>?un(i"n, alternativamente..@e"rd busca la documentacin eistenacerca del
tema @0ey/ordA
DOCUMENTACIN EN R
7/24/2019 EA2 - Mdulo 1_R
9/48
B
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
UNCIONES4se re)
(na secuencia de enteros puede generarse as:se$in F 24
9tra *orma es usando la *uncin se, que permiteespecifcar puntos iniciales y fnales, longitud eincrementos
9*rece n?meros ordenados no necesariamente enteros re) es una *uncion muy ?til que permite, por lo menos,
inicialiar vectores con un componente gen;rico:
ini$ve( F re)< H J i#es H K8 "in embargo, re) es ms verstil y toma vectores
como argumentos Ms a?n, tiene el argumento ea(;las veces deseadas cada uno de los elementos delvector
7/24/2019 EA2 - Mdulo 1_R
10/48
CD
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7Deni(i!n %(ni(as de ("nsru((i!n 4os vectores de caracteres y los vectores lgicos
tienen entradas con caracteres con valoreslgicos %omo los num;ricos, son de longitud n
"e pueden *ormar vectores de caracteres con (4
se$(;ar F (un"7J d"s7J res78o lgicos
se$*":i( F (TRUEJ ALSEJ TRUE8 ( *unciona como se describi anteriormente en
relacin a los vectores num;ricos 6ambi;n re) *unciona como se describi con
vectores num;ricos
7/24/2019 EA2 - Mdulo 1_R
11/48
CC
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7Inde
7/24/2019 EA2 - Mdulo 1_R
12/48
CE
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7Susiu(i!n
!s posible realiar asignaciones a entradas particulares de los vectores,seleccionando y asignando nuevos valores:
#vector de caracteres
se$(;ar F (un"J d"sJ res8#seleccion y sustitucion
se$(;ar 2 F *" ue sea
# equivalentemente
se$*":i( F se$(;ar HH d"s #vector logicose$(;ar se$*":i( F *" ue sea
# o por exclusionse$(;ar F(1J 38 F *" ue sea
!sta t;cnica es sufcientemente general y se puede
aplicar a casi cualquier objeto @subsetableA
7/24/2019 EA2 - Mdulo 1_R
13/48
C3
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7O)erad"res #Bs ("#unes !isten operadores binarios que permiten
comparar elemento por elemento dosvectores: HH, , , H, H, Q )negacin deun vector lgico+
.l aplicarlos, estos operadores resultan envectores lgicos de longitud igual a la de losvectores considerados
9peradores booleanos: F, FF, ,
4as versiones largas FF y *uncionan convectores de longitud C y resultan en un simplevalor lgico
4os operadores booleanos resultan en
vectores lgicos de longitud igual a las de losvectores considerados para las versiones
7/24/2019 EA2 - Mdulo 1_R
14/48
C-
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7Tess ("er(i"nes"e puede comprobar el tipo de un vectormediante
is$nu#eri(, is$d"u9*e, is$ine:er,is$(;ara(er,
is$*":i(a*
.simismo, se puede *orar )convertir+ un vectora que sea
de cierto tipo mediante as$nu#eri(,as$d"u9*e, as$ine:er, as$(;ara(er,as$*":i(a*
7/24/2019 EA2 - Mdulo 1_R
15/48
C
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7Mari< Mediante #ari< es posible construir
matrices, especifcando el n?mero decolumnas y renglones:
#a$(er"s F #ari
7/24/2019 EA2 - Mdulo 1_R
16/48
C8
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7Se*e((i!n asi:na(i!n )"r e*e#en" (na matri en R tambi;n es posible de
indearla en sus renglones y columnas )es@subsetableA+
!sto nos da la posibilidad de seleccionar y
sustituir valores como en el caso de losvectores
.$ora, sin embargo debemos operar sobredos ndices
5ara seleccionar el ij2;simo elemento de unamatri nm:#a iJ
5ara asginar un nuevo valor al ij2;simo
elemento usamosF
7/24/2019 EA2 - Mdulo 1_R
17/48
C=
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(asA$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7Se*e((i!n asi:na(i!n )"r ("*u#na " )"r
ren:*!n 6ambi;n es posible seleccionar y asignar atodo un rengln o todo una columna de unamatri #a de dimensiones nm
5ara el i2;simo rengln:
#a iJ F ve("rGdonde ve("r es un vector con de longitud
n
5ara laj2;simo rengln:
#a J F ve("rGdonde ve("r es un vector con de longitud
m
7/24/2019 EA2 - Mdulo 1_R
18/48
C>
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(asA$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7Se*e((i!n asi:na(i!n )"r su#ari(es "
su9("nun"s 6ambi;n es posible seleccionar y asignarsubconjuntos de una matri #a dedimensiones n m
5ara los renglones a,b, c:
#a (aJ 9J (8J F #ari&Gdonde #ari& es una matri 3 n
"imilarmente, se puede proceder paracolumnas
5ara sustituir una cierta submatri defnidapor los renglones a,b, c y las columnasx, y:
#a (aJ 9J (8J (
7/24/2019 EA2 - Mdulo 1_R
19/48
CB
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(asA$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7Se*e((i!n asi:na(i!n )"r #ari(es
*!:i(as 6ambi;n es posible seleccionar y asignarsubconjuntos de una matri #a dedimensiones n m mediante una matrilgica #a$*":i( )de dimensiones n m+
#a #a$*":i( F "9e"Gdonde "9e" es alg?n objeto consistente
con los valores verdaderos de #a$*":i( %uando se usa una #ari& *!:i(a como
objeto auiliar, n" es ne(esari" inde
7/24/2019 EA2 - Mdulo 1_R
20/48
ED
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7M%"d"s ("#unes
di#: obtiene las dimensiones de una matri dia:: etrae y asigna elementos a la diagonal s"*ve: obtiene la inversa de una matri y resuelve sistemas de ecuaciones
(r"ss)r"d: T=
(r"ss)r"d: =T @r"ne(@er: = : T5ara aumentar matrices
r9ind: por renglones
(9ind: por columnas ("*y r"resultan en matrices lgicas, lo que permite defnir
condiciones sobre renglones y columnas
7/24/2019 EA2 - Mdulo 1_R
21/48
EC
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7r9ind (9ind 4as *unciones r9ind y (9ind permiten concatenar,
aumentar, matrices por columnas o por renglones
"i y ! son matrices de dimensiones m n y l n,entonces
F r9indAJ /8
Gresulta en una matri" de dimensiones ml n "i y ! son matrices de dimensiones m n y m l,
entonces
F (9indAJ /8Gresulta en una matri" de dimensiones m n l
4as dimensiones tienen que ser compatibles
.cepta ms de dos argumentos
7/24/2019 EA2 - Mdulo 1_R
22/48
EE
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7a("res 4os *actores son vectores usados para
especifcar una clasifcacin )representanvariables discretas+
4os grupos que representan la clasifcacin
pueden tener asociado, o no, un orden "on muy usados en *rmulas de anlisis
estadsticos
"e pueden *ormar usando ?a("r, as$?a("r,
"rderedJ as$"rdered (n *actor tiene niveles y ;stos se pueden
consultar mediante *eve*s !s posible es*ecifcar un orden entre los
distintos niveles
7/24/2019 EA2 - Mdulo 1_R
23/48
E3
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7Daa ra#e
4os data2*rames son tablas con datos cuyos columnas sontodas vectores o *actores
4os vectores pueden ser de distinto tipo: num;ricos, decaracter, *actores
!s el objeto que nos permite almacenar las in*ormacin de lasvariables de un estudio de tal *orma que muc$os anlisispuedan operar sobre ella
daa$?ra#edaa$?ra#e$$$J r"$na#es H NULLJ(;e(@$r"s H ALSEJ (;e(@$na#es H TRUEJ
srin:sAsa("rs H de?au*$srin:sAsa("rs88
$$$ permite especifcar los vectores que constiuirn las columnasdel data2*rame
7/24/2019 EA2 - Mdulo 1_R
24/48
E-
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7Daa ra#e Muc$as *unciones de importacin o de lectura
de datos eternos o*recen como resultado undata2*rame
"e pueden usar r9ind y (9ind de manera
similar al uso que tienen cuando se trata dematrices
6anto *actores como data2*rames son@subsetablesA, por lo que se pueden aplicar
las t;cnicas de seleccin y sustitucin devectores )*actores+, o de matrices )data2*rames+
(n operador de seleccin nuevo es W, quepermite seleccionar una columna por sunombre
7/24/2019 EA2 - Mdulo 1_R
25/48
E
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
A$ MATRICESJ VECTORESJ ACTORES =DATA RAMES7Daa ra#e X Se*e((i!n Asi:na(i!n "e pueden seleccionar columnas mediante
vectores de caracteres que contengan losnombres correspondientes
!l operador W permite seleccionar columnas y
*ormar condiciones )vector auiliar+ para laseleccin de renglones de un data2*rameaendiend" a *"s nive*es de ("*u#nas ene* daaF?ra#e Jer ejemplos en los scripts
(n objeto de clase daa$?ra#e tiene asociadoel m;todo su##ar, que da distintain*ormacin estadstica dependiendo del tipode variables que contenga el objeto
7/24/2019 EA2 - Mdulo 1_R
26/48
E8
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
/$ DATA RAMES7J LISTASJ DATOSALTANTES = NOM/RESDa"s a*anes Krecuentemente, los data2*rame contienen
datos faltantes en algunas de sus columnas
4os datos *altantes se especifcan medianteNA
4os datos *altantes son problematicos ymuc$as *unciones en R tienen opciones paradecidir que $acer con datos *altantes
4a *uncin is$naes muy ?til para $acer
imputacin de datos *altantes de un vector&enera un vector lgico y puede ser usadopara seleccionar y asignar un valor imputado
7/24/2019 EA2 - Mdulo 1_R
27/48
E=
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
/$ DATA RAMES7J LISTASJ DATOSALTANTES = NOM/RESLisas
4as listas son objetos que tienen por elementos ocomponentes otros objetos, de la clase que sean, nonecesariamente todos de la misma, incluyendo listas
!n ese sentido, las listas son objetos recursivos (nvector, por ejemplo, es atmico
4a *orma ms inmediata de inicialiar una lista esmediante *is:
*isa< F *is8Glo que genera una lista vaca, lista para ser llenada
Mediante podemos seleccionar )y asignar+elementos a la lista 5or ejemplo:
*isa
7/24/2019 EA2 - Mdulo 1_R
28/48
E>
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
/$ DATA RAMES7J LISTASJ DATOSALTANTES = NOM/RESLisas X Inde
7/24/2019 EA2 - Mdulo 1_R
29/48
EB
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
/$ DATA RAMES7J LISTASJ DATOSALTANTES = NOM/RESL"n:iudes de *"s "9e"s 4os objetos que se $an revisado, es decir,
vectores, matrices, data2*rames y listas,tienen todos atributos de longitud
Mediante *en:; se obtiene la longitud de un
objeto dado Mediante di# se obtienen las longitudes de
las dimensiones de un objetomultidimensional )matrices y data2*rames+
Mediante nr" y n("* se obtiene el n?merode reglones o de columnas de una matri odata2*rame
7/24/2019 EA2 - Mdulo 1_R
30/48
3D
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
/$ DATA RAMES7J LISTASJ DATOSALTANTES = NOM/RESL"n:iudes de *"s "9e"s 4os objetos que se $an revisado, es decir,
vectores, matrices, data2*rames y listas,tienen todos atributos de longitud
Mediante *en:; se obtiene la longitud de un
objeto dado Mediante di# se obtienen las longitudes de
las dimensiones de un objetomultidimensional )matrices y data2*rames+
Mediante nr" y n("* se obtiene el n?merode reglones o de columnas de una matri odata2*rame
7/24/2019 EA2 - Mdulo 1_R
31/48
3C
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
Mdulo
I:R
O9$ O)$ /Bsi(as
/$ DATA RAMES7J LISTASJ DATOSALTANTES = NOM/RESLe(ura de /ASES DE DATOS read$a9*e y read$(svson representantes
de una *amilia amplia de *unciones quepermiten leer tablas de datos en arc$ivos deteto
!stas *unciones leen arc$ivos en *ormato detabla y dan por resultado un data2*rame
7/24/2019 EA2 - Mdulo 1_R
32/48
3E
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as
/$ DATA RAMES7J LISTASJ DATOSALTANTES = NOM/RESLe(ura de /ASES DE DATOS.rgumentos de read$a9*e84 *e ruta al arc$ivo de datos )caracteres+ ;eader valor lgico para indicar si el arc$ivo
de datos tiene en suprimer lnea el nombre
de las columnas se) el caracter entrecomillado que separa los
los datos )en read$(sv el caracter por de*ectoes una coma+
r"$na#es y ("*$na#es son vectores decaracteres que especifcan nombres derenglones y de columnas, respectivamente
de( el caracter que se usa para especifcar el
punto decimal )en !uropa es una coma+
7/24/2019 EA2 - Mdulo 1_R
33/48
33
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as/$ DATA RAMES7J LISTASJ DATOSALTANTES = NOM/RESA*#a(ena#ien" de #ari(es daaF
?ra#es en e* Sise#a4a contraparte de leer datos de esta *orma nos la darie$a9*e!sta *uncin permite guardar matrices y data2*rames de Ren *ormato de teto
.rgumentos:
< objeto )data*rame+ *e ruta para al arc$ivo )caracteres+ a))end valor lgico para indicar si el arc$ivo ser
aneado al fnal de uno eistente )con el mismonombre+ o no
se) el caracter entrecomillado que separar los datos)en
rie$(sv el caracter por de*ecto es una coma+ r"$na#es y ("*$na#es son valores lgico que
indican si los nombres de renglones y de columnassern includos
7/24/2019 EA2 - Mdulo 1_R
34/48
3-
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as
/$ DATA RAMES7J LISTASJ DATOSALTANTES = NOM/RESNa#esY Di#na#es
na#es tambi;n permite asignar nombres a un objeto)mediante un vector de caracteres+: na#es
7/24/2019 EA2 - Mdulo 1_R
35/48
3
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as
/$ DATA RAMES7J LISTASJ DATOSALTANTES = NOM/RESPase )asees una *uncin muy ?til en la
construccin de nombres
)aseconvierte argumentos vectoresa vectores de caracteres y losconcatena mediante un caracter deseparador se)4
)ase$$$J se) H J ("**a)se H NULL8
7/24/2019 EA2 - Mdulo 1_R
36/48
38
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
R es un lenguaje de epresiones en el sentido de que el ?nicotipo de comando que eiste es una llamada de *uncin o unaepresin que o*rece un resultado Incluso una asignacin es unaepresin
4as epresiones se pueden agrupar:
Ze1Y $$$Y en[#o bien
Ze1$$$
en[#esta ultima forma es la tipicamente usada
#en iteraciones y ciclos
GRUPOS DE EPRESIONES
7/24/2019 EA2 - Mdulo 1_R
37/48
3=
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
(a es una *uncin parecida a )ase, pero sirve para imprimircadenas )strings+ de caracteres en la consola de R
%onvierte objetos a caracteres y los une con otros !s muy ?tilen ciclos o iteraciones, aunque su uso no se limita a estos5ermite imprimir mensajes en pantalla, indicando la iteracin
o eventos especiales )defnidos por el usuario+
5or ejemplo, si i es un entero en un iterador(a\niera(i"n\nJ iJ se)H 8 #produceiera(i"n 1
iera(i"n 2#para la primera y segunda iteraciones
#(\n, produce renglones)
UNCIN (a
7/24/2019 EA2 - Mdulo 1_R
38/48
3>
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
)rin es una *uncin gen;rica, que provee de varios m;todose imprime el contenido de un objeto en la pantalla "e puede usar en ciclos o iteraciones, porque dentro de ;stos
no se imprime en pantalla )como en los scripts+
)rin)rin
7/24/2019 EA2 - Mdulo 1_R
39/48
3B
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
!n R se puede repetir un cojunto de epresiones mediante ?"r)loops+, re)eay ;i*e
?"r permite iterar eplcitamente mediante un contador o ndice,lo cual o*rece muc$a ventaja pues se puede seleccionar y asignaren objetos @subsetableA de manera precisa y compleja
?"rvar in se8Ze1 #primera expresion$$$en #nesima expresion[
#onde4var nombre de una variable, )i o alguna otra letra, porejemplo+
UNCIN4 ?"r
7/24/2019 EA2 - Mdulo 1_R
40/48
-D
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
!n R se puede repetir un cojunto de epresiones mediante ?"r)loops+, re)eay;i*e
?"r permite iterar eplcitamente mediante un contador o ndice, lo cual o*recemuc$a ventaja pues se puede seleccionar y asignar en objetos @subsetableA demanera precisa y compleja
?"rvar in se8Ze1 #primera expresion$$$en #nesima expresion[
#onde4
var nombre de una variable, )i o alguna otra letra, por ejemplo+se vector o una epresin que resulte en un vector, de donde var tomar susvaloresH por ejemplo, C42 6ambi;n se pueden usar vectores de caracterese1J $$$J en es el conjunto de epresiones que se evaluarn repetitivamente,algunas de las cuales pueden ser indeadas por i, o no, a medida que var avana porse
UNCIN4 ?"r
7/24/2019 EA2 - Mdulo 1_R
41/48
-C
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
9tra estructura de control muy usada es ;i*e, que repite ungrupo de epresiones $asta que una condicin no se cumplaUna ("ndi(i!n es un va*"r *!:i("
;i*e("ndi(i"n8Ze1 #primera expresion$$$en #nesima expresion[
!n alg?n lugar del grupo de epresiones anteriores seactualia la condicin, tpicamente al fnal o cerca de ;ste
;i*e es muy usado en problemas de convergencia, endonde la condicin es el criterio de convergencia
UNCIN4 ?"r
7/24/2019 EA2 - Mdulo 1_R
42/48
-E
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
9tra estructura de control muy usada es re)ea, que repite ungrupo de epresiones $asta que una condicin se cumpla
re)eaZe1 #primera expresion
$$$en #nesima expresioni?("ndi(i"n8 9rea@ #detiene la repeticion[
5rcticamente se puede intercambiar ;i*e y re)ea )con lasadecuaciones correspondientes+
UNCIN4 re)ea
B
7/24/2019 EA2 - Mdulo 1_R
43/48
-3
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
i? se usa con una condicin y una epresin o grupo deepresiones, que se ejecutan cuando la condicin asume unvalor lgico verdadero
i?("ndi(i"n8 e
7/24/2019 EA2 - Mdulo 1_R
44/48
--
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
i? y e*se se usan con una condicin y una epresin o un grupo deepresiones para cuando la condicin es verdadera y otro para cuando es*alsa )e*se+
i?("ndi(i"n8Ze1 #!era expresion$$$en #nesima expresion[e*seZe1 #!era expresion$$$
e##mesima expresion
[
9bserve cmo e*se est indentado y las epresiones en corc$etes tambi;n)con respecto a e*se+ !s importante conservar esta regla de codifcacin
UNCIN4 i? e*se
d i! O9 O /B i G B L ? i 7
7/24/2019 EA2 - Mdulo 1_R
45/48
-
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
Lemos visto y usado *unciones a trav;s de la llamada de funcin
n"#9re$de$?un(i"nar:1J ar:2J $$$J ar:n8
G la cual ejecuta la *uncin
"i la *uncin produce un resultado, ;ste se puede asignar a unobjeto
7/24/2019 EA2 - Mdulo 1_R
46/48
-8
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
(na *uncin se defne mediante una asignacin de la *orma
n"#9re>?un(i"n F ?un(i"nar:>1J $$$J ar:>nJ $$$8Ze1$$$
e#[
D"nde4ar:>1J $$$J ar:>n son los argumentos que tomar *uncin $$$
)los del fnal+ son argumentos adicionales no especifcados peroque se pueden especifcar al llamar la *uncin y los cuales sirvende argumentos a otra *uncin que se llama dentro de la *uncin
4as epresiones e1J $$$J en entre corc$etes son elcuerpo de la funcin
CONSTRUCCIN DE UNCIONES
I d i! O9 O) /Bsi(as G B L"")s ?un(i"ns7
7/24/2019 EA2 - Mdulo 1_R
47/48
-=
Inr"du((i!n
Esad'si(aA *i(ada II
Mr"$ Andr%s Carre!nL"&an"
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
(na *uncin se defne mediante una asignacin de la *orma
n"#9re>?un(i"n F ?un(i"nar:>1J $$$J ar:>nJ $$$8Ze1$$$
e#[
D"nde4ar:>1J $$$J ar:>n son los argumentos que tomar *uncin $$$
)los del fnal+ son argumentos adicionales no especifcados peroque se pueden especifcar al llamar la *uncin y los cuales sirvende argumentos a otra *uncin que se llama dentro de la *uncin
4as epresiones e1J $$$J en entre corc$etes son elcuerpo de la funcin
CONSTRUCCIN DE UNCIONES
I d i! O9 O) /Bsi(as G B L"")s ?un(i"ns7
7/24/2019 EA2 - Mdulo 1_R
48/48
Inr"du((i!n
MduloI:R
O9$ O)$ /Bsi(as GrB(as L"")s ?un(i"ns7
ejemplo: prueba t
##calcula el estadistico t bajo "
es F ?un(i"n