EA2 - Módulo 1_R

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