Introduccin al lenguaje R (4 horas: 2 HT/2 HP; 28 de Enero
!"jeti#os: Instalar e integrar R a cual$uier siste%a o&erati#o ' considerar las #entajas de R co%o una herra%ienta &ara sus la"ores cient()icas. *+u, es R ' &or $u, elegirlo so"re otros lenguajes- Instalacin en .indo/s Instalacin en 0inu1 (2"untu Instalacin en 3ac Instalacin en R 4a secas5 Rstudio 6reacin de o"jetos 2so de )unciones !"tener a'uda en R 7ectores 6uadros de datos II. Pro"a"ilidad ' relacin con la estad(stica (4 horas: 8 HT/9 HP; 2: de Enero !"jeti#os: Entender los conce&tos ";sicos de la &ro"a"ilidad< descri"ir un conjunto de datos< esta"lecer criterios so"re las %edidas de tendencia central ' dis&ersin< di)erenciar distri"uciones discretas ' continuas< relacionar la naturale=a de nuestros datos con sus res&ecti#as distri"uciones< calcular #alores cr(ticos ' #alores de &ro"a"ilidad. Ti&os de #aria"les >recuencias ?ociones de &ro"a"ilidad 3edidas de Tendencia 6entral 3edidas de &osicin 3edidas de dis&ersin Inter#alos de con)ian=a &ara la %edia Relacin de los &ar;%etros< estad(sticos ' el ta%a@o de %uestra 0as distri"uciones en R ' sus )unciones gen,ricas Aistri"uciones discretas (Bernoulli< Bino%ial< Poisson Aistri"uciones continuas (2ni)or%e< e1&onencial< nor%al< 6hiCcuadrada< T de Dtudent< > de Dnedecor Ereas de"ajo de la cur#a III. Prue"as de hi&tesis ' &rue"as ";sicas (4 horas: 2 HT/2 HP; 8F de Enero !"jeti#os: Esta"lecer hi&tesis estad(sticas< entender las nociones del dise@o de e1&eri%entos< conocer las &rue"as ";sicas< cu%&lir con sus asunciones ' relacionarlas con conce&tos "iolgicos. Hi&tesis estad(sticas Error estad(stico Prue"as de hi&tesis: Relacin entre P< G ' el inter#alo de con)ian=a Ti&os de %uestreo ' Aise@o e1&eri%ental Hjuste a distri"uciones Esti%acin de &ar;%etros: 3;1i%a #erosi%ilitud Esti%acin de &ar;%etros: Bootstra& Esti%acin de inter#alos de con)ian=a &ara la %edia ' la #arian=a Prue"a de "ondad del ajuste (chiCcuadrada ' sus a&licaciones Prue"as de nor%alidad Trans)or%acin de datos Prue"as de ho%ogeneidad de #arian=as ' su i%&ortancia Prue"a de T de Dtudent< .ilco1on ' 2 de 3annC.hitne' Regresin lineal ' an;lisis de correlacin I7. H?AE7H ' H?6!7H (4 horas: 2 HT/2 HP; 89 de Enero !"jeti#os: Hu%entar la co%&lejidad del dise@o de nuestros e1&eri%entos< co%&arar %Ilti&les &o"laciones de datos ' usar la co#arian=a co%o una herra%ienta estad(stica. 6onstruccin del &or &artes del an;lisis de #arian=a Aise@o co%&leta%ente aleatori=ado Aise@o en "lo$ues Aise@o de &arcelas di#ididas (s&lit &lot Aise@o )actorial Aise@o &ara datos longitudinales o de %edidas re&etidas H?6!7H ' su a&licacin 7. Re&aso ' E#aluacin (4 horas: 9 HT/ 8 HP; 9 de >e"rero Bi"liogra)(a BolJer< B. 2FFK. Integrating Ecological 3odels and Aata in R. Pincenton 2ni#ersit' Press. Princeton and !1)ord< 2L 6ra/le'<3. M. 2FFN.The R BooJ. Mohn .ile' O Dons 0td< The Htriu%< Douthern Pate< 6hichester< .est Dusse1< England Aalgaard< P. 2FF8. Introductor' Dtatistics /ith R D&ringerC7erlag Berlin Heidel"erg< ?e/ 'orJ< ?Q. 3ar$ues de D;< M. P. 2FFN. H&&lied Dtatistics 2sing DPDD< DTHTIDTI6H< 3HT0HB and R. D&ringerC7erlag Berlin Heidel"erg< ?e/ 'orJ< ?Q. +uinn< P. P.< Leough< 3. M. 2FF2. E1&eri%ental Aesign and Aata Hnal'sis )or Biologists. 6a%"ridge< ?e/ QorJ< ?Q. D&ector< P. 2FF8. Aata 3ani&ulation /ith R. D&ringerC7erlag Berlin Heidel"erg< ?e/ 'orJ< ?Q. 7ena"les< .. ?. ' D%ith< A. 3. Hn Introduction to R. ?et/orJ Theor' 0i%ited< 0ondon 2L. Rar M. H. 2F9F. Biostatistical Hnal'sis. 2nd Ed. PrenticeCHall< Engel/ood 6li))s< ?e/ Merse'<2DH. Introduccin Duracin: del curso. ~100 horas / ~25 cada Unidad Obj etivos del curso Instalar e integrar a cual!uier siste"a o#erativo. Involucrar a los #artici#antes a usar co"o una herra"ienta #ara sus labores cient$%icas. Otorgar las herra"ientas inci#ientes #ara desenvolverse en torno a la #rogra"acin cient$%ica. Usar #ara llevar a cabo an&lisis estad$sticos. Es bien sabido que est a la disponibilidad de la investigacin cientfica un gran nmero de paqueteras informticas con enfoque en estadstica/matemticas que facilitan las labores de investigacin. Entre algunos nombres reconocidos encontramos a Statistica, SAS, Matab, Mat!ematica, "iostats, S#SS, entre otros $ sumndole soft%are especiali&ado para 'clculos avan&ados( o 'tareas especficas' como #robit, Surfer, #A)#, *inclada, +urveE,pert, etc. Sin embargo, se cuenta con la desventa-a de que estas paqueteras no son sof t%are gratui to $ l os preci os de algunos de ellos se elevan sobre los mi l es de dol ares. .tra desventa-a ms es que pocos de estos programas nos ofrecen sol uci ones general es para llevar a cabo mltiples anlisis desde diferentes enfoques, sobre todo en el que!acer del bilogo, el fsico $ el qumico, cu$a variedad de disciplinas abarca un e,tenso uso de la estadstica $ modelos matemticos. Entre los pocos programas que ofrecen soluciones integrales estn Mat!ematica $ Matab. Sobre todo /ste ltimo ofrece una potente !erramienta para los investigadores por su amplia versatilidad. Sin embargo, ambos soft%are se encuentran entre los precios ms coti&ados dentro del mercado. .tra caracterstica que tienen en comn es el uso de l engua- es internos para su uso, lo cual implica el uso a fondo de la paquetera $ abre, por lo tanto, un nuevo abanico de posibilidades $ soluciones para los conflictos de los cientficos0 el uso de l engua- es de programaci n. El empleo de lengua-es de programacin descartan la necesidad de limitarse a un paquete informtico $ en cambio nosotros podemos generar el paquete mismo. El gran pero de este enfoque es que el cientfico aparte de la necesidad de dominar por completo los conocimientos sobre la materia $ los desarrollos matemticos con respecto a la metodologa que desea aplicar, debe tambi/n iniciarse en la programacin, que es toda una disciplina que abarca la licenciatura en informtica/computacin. Esta labor no es una opcin para la gran ma$ora de la comunidad intelectual. Entre dic!os lengua-es que nos abren esta nueva gama de posibilidades encontramos una gran variedad de opciones que se acomodan a nuestras necesidades0 +, 1ortran, +22, #$t!on, a3e,, 4ava, 1las!, 1ortran, Mat!ematica, M 5Matab6 $ 7. a ma$ora de estos lengua-es son de uso libre, sin embargo, dentro de la comunidad cientfica +, +2 2, 7 $ M !an sido sin duda los me-or aceptados. 'u( es ) #or !u( elegirlo sobre otros lenguaj es* 7 es un lengua-e de programacin con un enfoque principal en el uso estadsti co $ generaci n de grf i cas de al ta cal i dad. Se trata de un lengua-e fle,ible basado en una orientacin basada en ob-etos que nos permite lidiar con 'cualquier( problema de ndole cientfica. a venta-a que tiene 7 sobre los dems lengua-es de programacin es que fue dise8ado especficamente para estadstica, sin embargo, en la actualidad cuenta con una e,tensa comunidad que se encarga de desarrollar $ ampliar los usos de 7, usos que $a !an abarcado una mu$ amplia gama de anlisis $ usos 5visitar !ttp0//cran.r9 pro-ect.org/%eb/pac:ages/available;pac:ages;b$;name.!tml6. a posibilidad de que la comunidad desarrolle el lengua-e a su libre albedro es consecuencia de que este lengua-e sea de libre distribucin, es decir, es distribuido ba-o licencia <#. a licencia <# 5<=) <eneral #ublic icense6 nos presenta cuatro garantas esenciales0 a libertad de e-ecutar el programa, para cualquier propsito. a libertad de estudiar como traba-a el programa $ modificarlo. a libertad de redistribuir copias. a libertad de distribuir copias de sus versiones modificadas a terceros. Es debido a esta filosofa que 7 a crecido tanto, $a que no tiene costo alguno $ es tan potente como cualquier otro lengua-e de programacin. )na ltima venta-a que tiene el uso de los lengua-es de programacin es que para poder !acer uso de ellos, es necesario conocer a la perfeccin el procedi mi ento estndar que conlleva el anlisis o prueba que deseamos aplicar, lo cual elimina el mal !abito del 'clic:eo para ver cual anlisis es el bueno( $ obliga al usuario a teclear lo que realmente desea reali&ar, fomentando una l abor crti ca $ proposi ti va para resol ver probl emas . Sin embargo, si la labor del investigador no requiere el uso de una !erramienta potente, no es necesario que se torture con un lengua-e de programacin, simplemente no lo necesita. 7esumiremos > venta-as que nos ofrece 70 ?ntegracin0 <ran variedad de funciones disponibles para mltiples procesos de diferente naturale&a. ?nterfaces, intersistema $ uso de otros lengua-es de programacin. ?nteractividad0 El usuario est en constante interaccin, se empapa del conocimiento del lengua-e, su significado $ aplicacin. Esto evidentemente conlleva al aprendi&a-e de los m/todos implicados, al desarrollo $ modificacin de los mismos. #rogramabilidad0 #odemos modificar $ desarrollar nuevos m/todos de anlisis . )so de scripts $ repetibilidad de los procedimientos llevados a cabo. +apacidad de evolucionar0 El lengua-e de 7 permite que las caractersticas que tengan que ser modificadas sean conservadas a trav/s del tiempo. as paqueteras se actuali&an diariamente $ la comunidad mantiene un desarrollo constante del lengua-e $ de sus e,tensiones. <rficos de gran calidad. Es soft%are libre. +esin 1: ,as -I. /Introduccin0 instalacin0 integracin0 inter%a12 Duracin: ~ 1 3 hora Obj etivos: 4o"#render !ue es ) sus alcances Instalar bajo cual!uier siste"a o#erativo e integrarlo con la inter%a1 gr&%ica de studio 4onocer ) e5#lorar la inter%a1 de studio 6a"iliari1arse con las #&ginas relacionadas con el #ro)ecto ecursos electrnicos htt#://cran.r7#roject.org/ 8&gina o%icial del #ro)ecto htt#://cran.r7#roject.org/9eb/#ac:ages/ ,ista de #a!uetes dis#onibles #ara htt#://cran.r7#roject.org/bin/linu5/ubuntu/ ;u$a original de instalacin en Ubuntu htt#://rstudio.org/ 8&gina o%icial de studio En esta primera sesin vamos a instalar 7 $ la interfa& 7studio. 7 puede ser descargado directamente desde la pagina oficial de +7A=. Al ?ngresar a la pgina observamos que nos ofrece inmediatamente la opcin de instalarlo en sistemas inu,, Mac $ *indo%s. a instalacin en inu, es sin duda la ms laboriosa, pero no implica un reto ma$or. as instalaciones para *indo%s $ inu, se describen a continuacin <indo9s #ara instalar 7 en *indo%s, necesitaremos descargar el instalador .e,e desde la pgina de +7A=. El arc!ivo .e,e que es de nuestro inter/s es el arc!ivo que corresponde a 'base(. os otros dos instaladores corresponden a una versin de desarrollo para colaboradores 5dev6 $ !erramientas para quienes dise8an paqueteras basadas en lengua-e 7. =o necesitamos ninguno de los dos porque sencillamente su uso escapan de los ob-etivos del curso. )na ve& descargado se procede a instalarlo como cualquier otro programa. )n procedimiento mu$ similar sigue a la instalacin de 7studio, que se puede descargar desde su pgina oficial. Es probable que esta instalacin no nos genere un acceso directo, por lo que !a$ que anotar la carpeta donde lo instalamos 5primera pantalla en el proceso de instalacin6 $ buscar el e-ecutable en la carpeta /bin/ para generar el acceso directo. ,inu5 /Ubuntu2 7 se encuentra dentro de los repositorios oficiales de )buntu, sin embargo, es muc!o me-or actuali&ar 7 desde los repositorios oficiales del pro$ecto, $a que la informacin se adquiere de manera directa. #ara llevar a cabo esto a8adiremos el repositorio oficial de 7 para M/,ico. El procedimiento oficial puede leerse en la gua de instalacin de 7 en la pgina oficial del pro$ecto +7A=. Al a8adir un repositorio, podemos actuali&ar la versin de 7 $ sus paquetes de manera directa e inmediata con respecto a las modificaciones en el la pgina oficial de 7. Esto es una gran venta-a sobre *indo%s, $a que no tenemos que desinstalar 7 para instalar una versin nueva $ tampoco perdemos paquetes por !acerlo. Abrimos una terminal $ e-ecutamos los siguiente comandos sudo add-apt-repository 'deb http://cran.itam.mx//bin/linux/ubuntu precise/' gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys E084!"# $$ gpg -a --export E084!"# % sudo apt-key add - sudo apt-get update $$ sudo apt-get install r-base r-recommended synaptic Si la versin de nuestro )buntu no es @A.BC, se cambia la terminacin segn el nombre clave de nuestra distribucin. Es obligatorio usar el repositorio de ?3AM debido a que el otro repositorio para M/,ico, el del +.#.S, esta cado. #ara instalar 7studio seguimos los siguientes comandos0 Sistemas DA9bits &get 'http://do&nload'.rstudio.org/rstudio-0.#(.)4*-i*8+.deb' sudo dpkg -i rstudio-0.#(.)4*-i*8+.deb rm rstudio-0.#(.)4*-i*8+.deb Sistemas >C9bits &get 'http://do&nload'.rstudio.org/rstudio-0.#(.)4*-amd+4.deb' sudo dpkg -i rstudio-0.#(.)4*-amd+4.deb rm rstudio-0.#(.)4*-amd+4.deb .tras distribuciones inu, 51edora, 7ed Eat, openSuse, Febian6 $ Mac sern atendidas individualmente $ puede consultarse su gua en la pgina de +7A=. -a secas. Antes de considerar la interfa& de 7studio ocupemos la interfa& original de 7. #ara e-ecutar el programa desde *indo%s basta un doble clic:, para )buntu !a$ que escribir 7 en la terminal. a pantalla que nos aparece ser conocida consol a de traba-o $ es donde arro-ara nuestros resultados. Fentro de la consola podemos e-ecutar comandos que puede interpretar 7, escribi/ndolos $ pulsando 'enter(. Si pulsamos la tecla 'arriba( nos devolver el ltimo comando usado. )sar como cualquier calculadora. studio Es !ora de abrir 7studio. Se trata de una interfa& grfica de alta calidad para 7, que nos permite un uso avan&ado de todas las funcionalidades que presenta 7 de una manera ms amigable $ funciones que facilitan el uso de 7. Entremos al men 1ile 9G =e% 9G 7 Script, o simplemente presionamos ctrl2s!ift2n. A!ora tenemos C secciones en 7studio0 a seccin superior i&quierda es la &ona de 'scripts(, donde podemos escribir $ guardar una serie de comandos que que deseamos e-ecutar en con-unto. El uso de scripts tiene una gran venta-a, $a que podemos observar todos los comandos que deseamos llevar a cabo en un solo lugar sin e-ecutarlos para poder seguir redactando comandos subsecuentes. +on las !erramientas de la parte superior podemos des!acer, re!acer, guardar, importar imgenes, e,plorar las caractersticas del script, sus componentes $ e-ecutar los comandos. En la parte inferior nos indica la posicin del cursor en el script 57engln0+arcter6, secciones dentro del script $ tipo de script. En este curso nos enf ocaremos ni camente a l os scripts de 7. a seccin inferior i&quierda es la consola misma que $a !emos manipulado. En este lugar podemos introducir los comandos directamente $ la ventana de salida de los resultados. En la parte superior de la seccin se indica la carpeta de traba-o. a seccin superior derec!a presenta tres pesta8as, cada una con un panel de botones superior con funciones simples para su uso0 *or:space, que es nada ms que los ob-etos que tenemos en uso actualmente, Eistor$, que es un !istorial de los comandos que !emos usado recientemente. Eelp, que es una ventana que inclu$e el sistema de a$uda. El sistema de a$uda se ver con ma$or detalle posteriormente. a seccin inferior derec!a tambi/n esta compuesta por tres pesta8as, tambi/n con su respectivo panel de botones0 1iles, que es un e,plorador interno #lots, donde se almacenaran las grficas generadas. #ac:ages donde podemos visuali&ar, gestionar, instalar, activar $ desactivar paqueteras e,ternas. En caso de i nu, no es recomendabl e i nstal ar paqueteras por este medi o. a instalacin de paqueteras se ver con ma$or detalle posteriormente. a misma interfa& de 7studio presenta una serie de mens que nos permiten configurar la interfa&. Es -usto aclarar que estos mens no atentan contra la filosofa crtica de 7, $a que no proveen soluciones directas para el uso del lengua-e, sino para !acerlo un poco ms amigable, por e-emplo, al insertar el primer carcter de HI, 56, '( o JK, complementar el siguiente inmediatamente $ nos colocara en medio de ambos. ,ota: -odos los conceptos no comprendidos en esta secci.n se ver/n a detalle en sesiones posteriores. 0as ventanas y pesta1as de la derecha de 2studio pueden variar3 pero son con4igurables dentro de las opciones de 2studio. +esin 2: 4reacin obj etos0 uso de %unciones0 #a!ueter$as ) siste"a de a)uda Duracin: ~ 2 horas Obj etivos: Interactuar con el siste"a de objetos =nali1ar la estructura de los objetos 4o"#render el uso de %unciones Instalar0 adjuntar ) re"over #a!ueter$as Ingresar0 usar ) a#o)arse en el siste"a de a)uda ecursos electrnicos 8a!ueter$a -nortest. Eablaremos un poco ms a detalle de 7. Se trata de un lengua-e que traba-a fundamentalmente en modelos de pregunta9respuesta, es decir, nosotros le indicamos una orden al programa $ nos devuelve el resultado, este tipo de lengua-es se les conoce como l engua- es i nterpretes. =osotros tenemos la posibilidad de insertar esta orden directamente en la consola o podemos usar scripts para mandar ordenes una tras otra. +uando 7 puede e-ecutar una funcin podemos observar en la consola el indicador 'G(, en caso de que no est/, 7 no est disponible para recibir ms comandos. Esto generalmente se debe a que no !a concluido la tarea anterior. En caso de mostrar un indicador '2( significa que est esperando ms informacin para poder interpretar el comando, comnmente esto se debe a que se introdu-o un comando incompleto o por partes 5mu$ til para crear grficas $ funciones6. 7 es un l engua- e ori entado a ob- etos , esto quiere decir que combina caractersticas de ingeniera en soft%are de lengua-es tradicionales $ el uso de scripts. Esta combinacin nos permite crear ob- etos 5vari abl es si mbl i cas6 , los cuales tienen una funcin especifica con las caractersticas que designemos. )n scri pt es una serie de comandos con una estructura co!erente $ ordenada 5al menos eso se pretende6 que pueden ser e-ecutados parcial o en su totalidad por el programa. =os dan la venta-a de poder guardar el te,to 5cualquier te,to es valido, pero 7studio genera arc!ivos '.7(6 para anali&arlo o e-ecutarlo posteriormente. 3ambi/n nos permite tener una visin ms global de lo que queremos reali&ar en 7 $ modificarlo a nuestro anto-o sin generar consecuencias en nuestros resultados. #ara usar un script en 7 escribir la lnea de comando $ para interpretarla 5mandarla a la consola6 usar ctrl2r, dentro de 7studio usar ctrl2enter. 4reacin de obj etos En 7 podemos usar mltiples cl ases de ob-etos . Sin embargo, casi cualquier paquetera contiene ob-etos especiales, los cuales no estn abarcados en este curso. =os limitaremos a conocer los ob-etos ms generales, es decir, los que nos ofrece 7 en la gran ma$ora de los casos sin a8adir ninguna otra paquetera. as ob-etos ms comunes en 7 segn creciente orden de comple-idad son0 simples vector factor matri, data.frame list arra$ function Aparte de la clase, los ob-etos tambi/n presentan un modo. oas modos pueden ser0 logical numeric c!aracter atomic comple, ra% integer #ara poder reconocer las caractersticas de cada uno de estos tipos de ob-etos primero aprenderemos como crearlos $ es el ob-etivo de secciones siguientes $ la pr,ima sesin. Ea$ ob-etos que son cargados por default por el programa, esto se debe a que son parte de los procesos fundamentales, sin embargo, nosotros podemos crear ob-etos que sern almacenados en la memoria del sistema 57AM6 en una l i sta de ob- etos persi stentes . Esta lista es la lista de ob-etos que vemos en la seccin superior derec!a de 7studio, $ la misma lista que podemos consultar con las funciones l s $ l s. str. #ara crear un ob-eto usamos un operador de asi gnaci n que es el con-unto de smbolos 'L9( que aseme-an a una flec!a. Es importante que ambos smbolos est/n -untos, sino cambia la connotacin e interpretacin de ellos 5se interpretan individualmente6. 3ambi/n podemos usar 'M( como operador de asignacin. A la i&quierda del operador se indica el nombre del ob-eto $ a la derec!a los valores que lo componen. 5n 6- )7 =o !a$ un resultado inmediato al usar este comando, pero a!ora nuestro ob-eto !a sido designado $ lo podemos encontrar en la lista de ob-etos. Fe a!ora en adelante ',( toma un valor de A. 3ambi/n podemos designar valores lgicos, aunque estos comnmente son arro-ados por una operaci n l gi ca. )68 5l 6- )987 A!ora generaremos un ob-eto con letras como valor0 c 6- boo =os regresa un error0 El ob-eto 'boo( no encontrado. 5c 6- :boo;7 En este caso $ adquiere el valor del te,to 'boo(. El te,to est entrecomi l l ado, de esta manera no genera ningn conflicto. +aso similar sucede con las rutas de acceso 5)76, pero esto se ver en sesiones posteriores. #ara poder crear ob-etos ms complicados en necesario que entendamos como funcionan las funciones de 7. os ob-etos de 7 son sensibles a capitali&acin Uso de %unciones Easta este momento, $a !emos ocupado funciones, pero no !emos definido que es lo que son formalmente. as funciones dentro de 7 tambi/n son ob-etos, pero estos ob-etos no estn indicados a menos que sean asignados por uno mismo. as funciones cumplen con el papel de operadores compl e- os dentro del lengua-e, con los cuales se reali&ara un traba-o sobre los parmetros o argumentos que designemos. a estructura de la funcin puede ser anali&ada directamente desde su cdigo fuente 5source code6 o un esbo&o de ella en el sistema de a$uda. Si queremos reali&ar mltiples acciones en una sola lnea de comandos tenemos que usar N 5punto $ coma6 para separar cada accin. os parmetros de la funcin se definen dentro de par/ntesis precedidos por la funcin. as funciones l s $ l s. str no necesitan de ningn parmetro para que cumplan su funcin, tampoco muc!as otras funciones. #ero la gran ma$ora si lo necesitan. as funciones cl ass, mode, str, structure $ t$peof nos ofrecen informacin de las caractersticas de un ob-eto. En estos casos, los parmetros de la funcin es el ob-eto del que se quiere obtener informacin. #robar con los ob-etos que $a !emos creado. class5n7< mode5n7< str5n7< structure5n7< typeo45n7 class5l7< mode5l7< str5l7< structure5l7< typeo45l7 class5c7< mode5c7< str5c7< structure5c7< typeo45c7 a funcin ci tati on nos arro-a los datos para citar a 7, set%d nos permite asignar el directorio de traba-o $ q o qui t cierran 7. Fe a!ora en adelante las funciones se se8alarn en negritas, los argumentos en itlicas $ al final de cada seccin se !ar un resumen de las funciones nuevas usadas. ,uevas 4unciones: ls3 ls.str3 class3 mode3 str3 structure3 typeo43 citation3 set&d3 =/=uit Obtener a)uda en Febido a la inmensa diversidad de funciones que podemos encontrar en 7, es necesario un sistema organi&ado de a$uda que nos permita conocer las caractersticas de las paqueteras instaladas $ las funciones disponibles. Este sistema de a$uda podemos invocarlo de diversas maneras. >ls >>!,?@! help5ls7 help.search5:!,?@!;7 Fentro de 7studio !el p es sinnimo de O P !el p. searc! de OO. Sin embargo, si estamos dentro de 7 directamente, la funcin !elp desplegar el sistema de a$uda en nuestro navegador, no dentro de la interfa&. )na sutile&a que debe de entenderse es que O P OO son operadores, no funciones. El Sistema de a$uda consiste en la descripcin $ uso de la funcin, su uso, argumentos, detalles, e-emplos, funciones relacionadas $ referencias. +on el sistema de a$uda es ms que suficiente para entender todo lo que !ace una funcin. a funcin fi nd nos indica a que paquete pertenece una funcin ,uevas 4unciones: help3 help.search3 4ind Instalar #a!ueter$as en as paqueteras son con-untos de comandos creados para una funcin en especifico, estas paqueteras son 'e,tras( que usamos dentro de 7 para reali&ar funciones especificas sin tener que crear el cdigo. a instalacin de paqueteras se puede reali&ar de dos maneras, grfica $ por comandos. +omo siempre es ms recomendable a trav/s de comandos, con la funcin i nstal l . pac:age. Eo$ instalaremos la paquetera 'nortest(, que nos permitir reali&ar pruebas de normalidad en sesiones posteriores. install.package5pkgsA:nortest;3 dependenciesA-7 )na ve& introducido el comando se nos abrir un men en el cual eligi/remos el servidor del cual descargar el paquete. En nuestro caso es Me,ico +it$ 53e,coco6. En el argumento p:gs podemos indicar el nombre de la paquetera o concatenar varios, este m/todo requiere de cone,in de internet al momento de instalar. En caso de no tener internet, es conveniente indicar la ruta de acceso al un comprimido binario .tar.g& descargado previamente de +7A=. #ara indicar un destino o carpeta en especfico donde instalar la paquetera se usar el argumento dir. El argumento dependencies instala los paquetes de los que depende la paquetera que queremos instalar, lo cual evita conflictos futuros. Fe manera grfica podemos instalar paqueteras en el <)? 5<rap!ical )ser ?nterface6 de 7 en el men o directamente en 7studio en la pesta8a #ac:ages. En el caso de i nstal ar paqueteras en )buntu, la tarea se vuelve muc!o mas verstil, $a que podemos instalarla almenos de cinco manerasdiferentes. Fos $a fueron comentadas $ son las menos recomendables tambi/n. #odemos instalar paqueteras de 7 desde S$naptic o desde la terminal, aunque no todos los paquetes se encuentran disponibles0 sudo apt-get install r-cran-nombredeapa=ueterBa #odemos instalar los paquetes con el siguiente comando en la terminal0 2 CD E,F-!00 nombredelapa=ueterBacomprimida 3odos los m/todos anteriores generan problemas de dependencias $ asignaciones en los paquetes9 El m/todo ms recomendado es ingresar a 7 como superusuario $ llevar a cabo el primer procedimiento descrito0 sudo 2 install.packages5:nortest;7 Es importante instalar todos los paquetes con un solo m/todo para evitar aun ms problemas de dependencias. )na ve& instaladas las paqueteras debemos cargarlas con la funcin l ibrar$0 library5:nortest;7 El argumento lib.loc nos permite cargar una paquetera que no fue instalada en la carpeta default indicando la ruta de acceso. En caso de !aber instalado la paquetera en la carpeta por defecto no es necesario indicar la ruta. #ara quitar la librera de la sesin actual ocupamos el comando detac!5pac:ageM(nombredel paquete(6 , para ingresar al sistema de a$uda de la paquetera, !el p5pac:ageM(nombredel paquete(6 . a funcin l i brar$ sin ningn argumento listamos todas las paqueteras instaladas. +on update.pac:ages actuali&amos los paquetes, labor que !a$ que !acer continuamente. a funcin para remover paqueteras instaladas es remove. pac:ages . ,uevas 4unciones: install.packages3 library3 detach 5para remover una pa=ueterBa de la sesi.n73 help3 update.packages3 remove.packages ,ota: 0a 4unci.n concatenar se abarcar/ la pr.xima sesi.n +esin >: =rreglos de in%or"acin co"unes en . 8rueba ) 4oercin de ti#os Duracin: ~ 2 horas Obj etivos Di%erenciar ) sacar el "ejor #rovecho de los di%erentes arreglos de in%or"acin en =nali1ar la estructura de objetos ) arreglos en 4rear objetos de "a)or co"#lejidad =nali1ar las caracter$sticas de cada uno de los arreglos de in%or"acin en 4oercionar ti#os de objetos A!ora que entendemos como usar a la perfeccin las funciones $ la asignacin de ob-etos, podemos empe&ar a crear ob-etos cada ve& ms complicados, que a su ve& permiten almacenar cada ve& ms informacin. Estos arreglos de informacin estn basados en ob-etos a su ve& menos comple-os0 vectores, matrices, cuadros de datos, arreglos, listas $ funciones. a creacin de funciones tiene una sesin aparte al final del curso, el resto de los arreglos de informacin en 7 sern abordados en esta sesin. ?ectores Easta el momento !emos podido crear ob-etos de clase numeric, logical $ c!aracter. )semos la funcin c para concatenar datos, es decir, para unirlos en un solo ob-eto. 5numerico6- c5*34383+383#3')*3')*3*4838+(77 Esto nos generar una nueva clase de ob-eto que conoceremos como vector. )n vector tiene una estructura ms comple-a que numeric, logical o c!aracter. Se trata de un con-unto de ob-etos ms simples, concatenados $ dispuestos en orden. El vector tiene diversas caractersticas, pero en lo particular su longitud es una mu$ importante. #ara mostrar la longitud del vector usemos la funcin l engt! $ el modo que puede obtenerse con mode. A!ora creemos un vector con ob-etos clase c!aracter0 5caracteres6- c5:a;3;a;3;a;3;a;3;a;3;b;3;b;3;b;3;b;3;b;77 )no con ob-etos logical0 5logico 6- c5-3-3-3-3-3G3G3G3G3G77 Mu$ probablemente los vectores sean la clase de ob-etos ms usada en 7, $ la base estructural de la ma$ora de los ob-etos ms comple-os. En el caso de que deseemos reali&ar un anlisis que involucre f actores o vari abl es e,pl i cati vas , es necesario indicarle a 7 que un vector contiene datos de este tipo. #ara indicarle esto a 7 usamos la funcion f actor. )na de las propiedades ms importantes de los factores son sus niveles los cuales pueden ser desplegados con la funcin l evel s. 54actores 6- as.4actor5caracteres77 levels54actores7 ,uevas 4unciones: c3 length3 4actor3 levels @atrices as matrices son fciles de crear a partir de datos vectori&ados, sin embargo, necesitamos que todos los datos que ingresaremos a la matri& tengan el mismo modo $ longitud. El uso de las matrices en el lgebra lineal es bastante e,tenso $ tambi/n !a sido aplicado dentro de 7. El paquete 'matri,( esta dise8ado para su anlisis. =osotros no profundi&aremos tanto en el uso de matrices, sin embargo, son mu$ tiles para almacenar nuestros datos. as matrices tienen varias propiedades interesantes. #ara crear una matri& usaremos la funcin matri ,. as dimensiones de la matri& pueden ser obtenidas con di m, $ estas dimensiones podemos asignarlas con los argumentos nro% $ ncol, no solo eso, sino que tambi/n podemos asignar el nombre de cada columna la funcin col names, caso similar para los renglones con ro%names. 3ambi/n podemos indicar como queremos que se llene la matri& de datos, es decir, agregando los valores llenando primero los renglones o primero llenando las columnas, esto con el argumento b$ro%. #ara, ms detalles de la funcin consultar la a$uda. )na caracterstica ms de las matrices es que necesitan ser for&osamente sim/tricas. 5matriH' 6- matrix577 5matriH' 6- matrix5ncolA)3nro&A'077 5matriH'I3'J 6- numerico7 5matriH'I3)J 6- 4actores7 5matriH) 6- matrix5c5numerico3 4actores73 nro&A'03 ncolA)77 colnames5matriH)7 6- c5KnumericoK 3K4actoresK7< matriH) ro&names5matriH)7 6- 0E--E2FI':'0J #odemos a!orrarnos el uso de las funciones col names $ ro%names con el argumento dimnames dentro de la funcin matri ,. 5matriH* 6- matrix5c5numerico3 4actores3 logico73 nro&A*3 byro&A-3 dimnamesAlist5c5KnumericoK3 K4actoresK3KlogicoK730E--E2FI':'0J777 ,uevas 4unciones: matrix3 colnames3 ro&names3 dim ,ota: !un=ue un obLeto no perteneHca el mismo modo =ue los dem/s3 la matriH lo incluye mediante coerci.n. Esto se explicar/ al 4inal de la sesi.n. El uso de los corchetes se ver/ en la pr.xima sesi.n =rreglos )n arreglo es un con-unto de vectores ordenados en un arreglo multidimensional. )na matri& es una arreglo bidimensional, un con-unto de matrices es un arreglo tridimensional. Es claro que una de las caractersticas ms importantes de un arreglo es su dimensionalidad, la cual se puede obtener con la funcin dim 5del mismo modo que las matrices6. #ara generar arreglos, usaremos la funcin arra$. array5':')03 dimAc5+3'03)77 +on el argumento dim, indicamos las dimensiones que deseamos, coercionadas en un vector. En este ltimo comando lo que indicamos en las dimensiones es que queremos > filas, @B columnas $ A matrices. Esto es un arreglo tridimensional. A!ora !aremos un arreglo con ms dimensiones. array5':')03 dimAc5*3)383)3)77 A!ora creamos un arreglo de informacin pentadimensional, donde tenemos A con-untos, que a su ve& contienen cada uno A con-untos ms, cada uno con Q matrices de D filas $ A columnas. ,uevas 4unciones: array 4uadros de datos ) ,istas A diferencia de las matrices, las funciones data.f rame $ l i st nos permiten crear ob-etos con diferentes modos sin necesidad de coercionarlos. os data frames al igual que las matrices necesitan necesitan tener el mismo nmero de datos dentro de cada variable, en cambio para las listas no es un requisito. os usuarios aferrados a programas de bases de datos encontraran en esta funcin un descanso $ pa& espiritual para alcan&ar su felicidad en 7. A!ora crearemos un data frame con todos los vectores !asta el momento creados. 5paHespiritual 6- data.4rame5numerico3 logico3 caracteres3 4actores77 as listas confieren una gran venta-a sobre todos los dems tipos de ob-etos !asta el momento utili&ados. Esta venta-a es su gran fle,ibilidad con respecto a la informacin almacenada dentro de ella. En este caso podemos almacenar cualquier cantidad de datos ia importar la cantidad, modo o clase. +reemos una lista de todos los ob-etos que !emos creado !asta el momento 5lista' 6- list5numerico3 caracteres3 logico3 matriH'3 matriH)3 paHespiritual77 lista) 6- list5numericAnumerico3 characterAcaracteres3logicalA logico3 4rameApaHespiritual77 +asi todas las funciones default de 7 devuelven ob-etos en forma de lista. a propiedad ms funcional para los cuadros de datos $ listas es el nombre de los componentes por los que estn formados los ob-etos, se despliegan con names. Esta funcin nos ser de muc!a utilidad posteriormente. ,uevas 4unciones: data.4rame3 list3 names 8ruebas ) 4oercin de ti#os #odemos poner a prueba si un ob-eto pertenece a cierta clase o modo usando la funcin i s. ,. En caso de que quisi/ramos que 7 interprete informacin con otro modo o clase entonces usamos las funciones de coercin as. ,. os niveles de los factores pueden ser coercionados a nmeros, los nmeros a caracteres, pero no podemos coercionar caracteres a nmeros. Al coercionar nmeros comple-os 5comple,6 a nmeros a numeric, la parte imaginaria se pierde. A continuacin una tabla e,trada del 79"oo: de +ra%le$ 5AB@A60 Ai#o 8rueba 4oercin !rray is.array as.array Character is.character as.character Complex is.complex as.complex ata4rame is.data.4rame as.data.4rame ouble is.doble as.doble Gactor is.4actor as.4actor 0ist is.list as.list 0ogical is.logical as.logical Datrix is.matrix as.matrix ,umeric is.numeric as.numeric 2a& is.ra& as.ra& -ime series is.ts as.ts @ector is.vector as.vector