Anda di halaman 1dari 0

I.

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

Anda mungkin juga menyukai