Sunteți pe pagina 1din 70

EJERCICIOS DEL LIBRO A BEGINNERS GUIDE TO R.

Presentado por:
ALONSO ARVALO
JEFFERSON PINZN
LERMAN CARABALLO

Profesor:
LUIS CARLOS SARMIENTO VELA.

TALLER ESPECFICO III

UNIVERSIDAD PEDAGGICA NACIONAL


FACULTAD DE TECNOLOGA
MAESTRA TIAE
COLOMBIA
2015

TABLA DE CONTENIDO

EJERCICIOS CAPTULO 2..4


1.4
2..4
3..5
4..6
5..8
EJERCICIOS CAPTULO 3...10
1..10
2...13
3...19
4...19
5...21
EJERCICIOS CAPTULO 4...24
1...24
2...26
3...27
4...28
5...28
EJERCICIOS CAPTULO 5...29
1...29
2...32

3...33
4...34
5...35

EJERCICIOS CAPTULO 6...36


1...36
2...42
3...44
4...48
5...49

EJERCICIOS CAPTULO 7...49


1...49
2...52
3...53
4...53
5...56

EJERCICIOS CAPTULO 8...58


1...58
2...63
3...66
4...67
5...70

Ejercicios Captulo 2
1- El ejercicio 1 requiere crear una variable con la funcin c para el largo, de
cabeza a tronco, de siete venados. Tambin se requiere agrupar en una variable
los valores sobre la presencia de tuberculosis en dichos animales:

Por ltimo pide calcular la media del largo de los siete animales:

Utilizndolo en el contexto propio, se crearon dos variables de la escala de


autorregulacin MSLQ de Pintrich et al., en 23 estudiantes de 11 de bachillerato
y se calcul la media de cada una de ellas:

2- El ejercicio 2 solicita crear las variables granja y mes. Teniendo en cuenta que
los valores de Granja son cadenas de caracteres se deben poner entre comillas.
Se us la funcin rep para especificar cuntas veces se repeta cada valor en la
variable Granja dentro de ella c para concatenarlos:

Luego se solicita usar cbind para combinar mes, largo, y datos de tuberculosis
bajo una variable a llamar Boar. Por ltimo se deben usar nrow y ncol para
especificar nmero de animales y de variables en Boar

(Dimensin 7x3. 3

columnas = mes, largo, Tb; y 7 filas= 7 venados). Ac ya se han introducido ms


arriba los datos largo y Tb para el ejercicio 1:

En nuestro caso,

creamos las variables estilo cognitivo (1= dependiente, 2=

intermedio, 3 = independiente) y edad para el mismo ejercicio de estudiantes de


11, y determinamos nmero de columnas y filas y dimensiones para una variable
agrupando Edad, y las dos estrategias de Autorregulacin vistas en el ejercicio 1:

3- El ejercicio 3 pide

combinar los datos de Tb mediante el uso de vector ,

generando una variable Tb2:

En nuestro caso de estudiantes de 11, generamos un vector para la variable


Aprendizaje pares. Teniendo en cuenta que en nuestro caso no hay datos nulos
(que en el ejercicio de Tb2 r se ve enunciado al principio):

4- En el ejercicio 4 se pide crear una matriz D, determinar su transposicin, su


inversa y multiplicarla por la inversa para obtener su matriz de identidad:

Para nuestro caso de autorregulacin y estilos cognitivos, construimos una matriz


para observar el comportamiento de las variables (columnas) y da las unidades de
cada una (filas). Se efecta la transposicin mediante la funcin t:

Para la inversa y para la matriz de identidad se requiere que la matriz sea


cuadrada, por lo que se procede a crear una matriz Grado 112 que cumpla con el
requerimiento, para a continuacin ejecutar las funciones solve y %*% solve:

5- El ejercicio 5 pide combinar todos los datos del ejemplo epidemiolgico en un


marco con data.frame , y despus sacar la raz cuadrada de la variable largo
(length) e incluirla como nueva variable en el mismo marco:

En nuestro caso lo hacemos con las variables presentadas y sacamos la raz de


EFT:

A continuacin, se pide realizar la misma agrupacin y operacin pero usando una


lista creada con la funcin list, y por ltimo sealar las diferencias que presentan
las dos funciones para realizar los procedimientos:

Y con nuestros datos:

Se observa que el marco permite visualizar de manera ms apropiada las


columnas y filas y seleccionarlas de manera ms adecuada. Es decir que permite
una visin global o en paralelo de todos los datos e individuaos a que
corresponden, mientras que la lista lo hace de manera serial, dificultando la
comparacin y seleccin de casos o grupos de casos y variables determinadas.
Ejercicios captulo 3
1- El ejercicio 1 pide revisar los datos sobre gripe aviar en el sudeste asitico de
2003 a 2008. Primero se deben usar las funciones name y str para observar las
variables y datos en general.
Primero se us la funcin read para importar la tabla como archivo csv separado
por comas:

Luego, se pide

calcular el nmero total de casos en 2003 y en 2005

respectivamente:

A continuacin se debe calcular qu pas tuvo el mayor nmero de casos


(Indonesia 135) y luego el que menor nmero de muertes tuvo (Bangladesh,
Djibouti y Myanmar 0). Este procedimiento tambin permite deducir el total de
casos por pas:

Por ltimo se pide el total de casos por ao, para lo que se utiliza sum:

2- Para el ejercicio 2 de este apartado se comienza realizando el ejercicio 6 del


captulo 2:

A continuacin se solicita extraer los datos de la estacin 1, y decir cuntas


observaciones se hicieron en esta estacin (38):

Luego se solicita el mnimo, el mximo, la mediana y la media de la profundidad


medida en esta estacin. Y se solicitan los mismos datos para la estacin 2 y la
estacin 3:

A continuacin, es necesario identificar las estaciones con menos observaciones,


con

el

objetivo

de

crear

un

marco

de

datos

que

permita

omitirlas.

Luego se solicita extraer los datos de 2002, lo que nos arroja las filas desde la 385
a la 789:

Luego nos pide extraer los datos de abril de todos los aos, lo que nos arroja 109
observaciones:

Luego solicita extraer los datos obtenidos a una profundidad mayor de 2000
metros, en todos los meses y aos:

..

Luego pide mostrar los datos en orden de incremento de la profundidad:

Por ltimo pide mostrar las observaciones hechas a ms de 2000 metros slo para
los meses de abril:

(No se muestran todos los datos por razones de espacio debido al tamao de la
base de datos, pero se muestra el comando utilizado y los primeros ejemplos que
aparecen).

3- El ejercicio 3 solicita exportar los datos extrados de solo abril a un archivo asci i
nuevo:

4- El ejercicio 4 pide crear dos variables para determinar el ao y mes en el que se


tomaron las observaciones para cada estacin (1 a 5 en abril de 2001, 6 a 11 en
agosto del 2001, 12 a 15 en marzo de 2002, y 16 a 19 en octubre de 2002).

Para el mes se crea la variable dentro de la misma base de datos, luego se


definen los valores y se cierra la variable usando factor. Para la variable de ao se
procede de igual manera:

Para la variable de ao se procede de igual manera:

5- Como ejercicio cinco para este apartado procedemos a replicar el ejercicio 1


usando una base de datos con puntajes en las categoras de Auoteficacia y
Metacognicin de la batera de Pintrich et al, puntaje en el test de figuras
enmascaradas de 45 estudiantes de 11 de bachillerato, y el logro de aprendizaje
previo

posterior

en

ingls:

Primero se observa el puntaje de cada estudiante en el EFT:

Luego se obtiene el nmero de estudiantes dependientes de campo (puntaje de 1


a 27):

Indepentientes ( puntaje de 32 a 43):

Y se deduce que los intermedios son 11.


Luego se averigu el estudiante con el puntaje ms alto en la escala autoeficacia
(JenniferAlonso) , as como el de menor puntaje (SantiagoMarin).
Se usa la lnea de cdigo

EFT$TotalAuto <- EFT$Auto1 + EFT$Auto2 + EFT$Auto3 + EFT$Auto4+

EFT$Auto5 + EFT$Auto6 + EFT$Auto7 + EFT$Auto8 + EFT$Auto9 + EFT$Auto10 + EFT$Auto11


EFT

Por ltimo se indaga sobre la misma situacin dentro de la escala de


Metacognicin(mayor puntaje NicolasPea; menor puntaje SantiagoMarin):

Ejercicios captulo 4
1- Para el ejercicio cuatro se presentan una base de datos de observaciones
climticas hechas en la lnea costera holandesa durante 16 aos (1990-2005).
Dependiendo de la estacin, la frecuencia de toma de muestras oscil entre 0 a 4.
Se pide realizar una matriz para calcular las medias de tomas mensuales
dependiendo de la temporada. Tambin se debe calcular la desviacin estndar y
el nmero de observaciones mensuales.
Primero se procede a convertir los datos en archivo txt separado por tabulaciones
para

poder

importarlo

se

crea

el

data

frame.

Este ejercicio presento especial dificultad debido a que no se reconocan como


lgicos los argumentos NA, razn por la cual debi indagarse por la funcin <as.numeric para cambiar estos valores a cero (debido a las dimensiones de la
base de datos otra forma de hacerlo hubiera sido poco eficiente):

Luego se utiliz la funcin unique para generar la matriz de aos

meses y

temperaturas y excluir los elementos no necesarios o repetidos. Luego se cre la


condicin for para generar un bucle de repeticin para cada uno de los 16 aos
con la funcin i. Luego se cre la variable TPi y usando la funcin tapply se integr

con la variable temperatura dentro del ndice mes para calcular la media (FUN).
Este proceso se repiti de igual manera para la desviacin estndar cambiando
solamente FUN=sd. Para calcular el nmero de observaciones por mes se aplic
la funcin length a la variable Month del bucle TPi creado.
MEDIA

DESVIACIN ESTNDAR

VECTOR DE NMERO DE OBSERVACIONES POR MES USANDO LENGTH

2- El segundo ejercicio de este apartado, solicita calcular con los mismos datos
climticos el nmero de observaciones por puestos de observacin, por ao, y por
puesto de observacin en cada ao. Para este efecto simplemente se vuelve a
leer el marco completo de la tabla y se le pide al programa que muestre las tablas
para variable Station (TP$Station), luego la variable ao(TP$Year), y por ltimo
una de los dos ejes (TP$Station, TP$Year):

3- Como tercer ejercicio para este captulo proponemos calcular el nmero de


estudiantes por puntaje en EFT, el nmero de estudiantes por puntaje en
evaluacin previa, y el nmero de estudiantes por puntaje en EFT y en evaluacin
previa:

4- Como ejercicio cuatro para este captulo, se aplic la funcin sapply a la base
de EFT para calcular la media, la desviacin estndar, y el vector de longitud de la
muestra en las 11 preguntas de la escala de autoeficacia:

5- Como ltimo ejercicio para este captulo, se calcularon y compararon

el

mnimo, el primer cuartil, la mediana, la media, el tercer cuartil y el mximo de las


variables puntaje en EFT, logro en evaluacin previa, y logro en evaluacin
posterior. Para este efecto se utiliz la funcin summary:

Ejercicio captulo 5
1- Se trabaja con una base de datos sobre animales arrollados en una carretera
en Portugal. Se solicita tomar el nmero de animales muertos (variable TOT_N), el
nmero de olivos (#OLIVE) y la distancia de los puntos de observacin a un
parque natural vecino (D_park), para realizar un grfico con los ejes TOT_N y
D_park. El grafico debe llevar una curva de error y las etiquetas adecuadas.

Una vez convertido el archivo .xls a archivo de texto separado por tabulaciones, se
lee la tabla en R y se ejecutan las lneas de comando, sin embargo se observan
los siguientes errores:

Se resuelven estos problemas mediante la definicin de todos los predictores


como numricos mediante la funcin <-as.numeric:

Una vez hecho esto se procede a generar el grfico:

Y se obtiene el grfico con la curva, los predictores, y las etiquetas requeridas:

2- Como ejercicio dos de gener un grfico de dispersin para comparar el logro


previo y el Estilo Cognitivo de los estudiantes, y el logro posterior con la misma
variable:

3- Para el ejercicio tres proponemos el grafico de dispersin con la curva de


normalizacin para las categoras de Autoeficacia 1 y de Metacognicin 1 de
nuestra misma base de datos sobre estilos cognitivos:

Se generaron los ejes y el rango de las lneas teniendo en cuenta el puntaje de 1 a


7 de las preguntas de las escalas de autoeficacia y de metacognicin.
4- Para el ejercicio 4 se utiliz una base de datos de un captulo posterior llamada
Antarcticbirds.txt, para realizar el posterior grfico de dispersin relacionando las
fechas de llegada a los sitios de puesta y la puesta como tal:

5- Como ltimo ejercicio de este apartado nos referimos a otro libro de los mismos
autores Analyzing Ecological Data (2007), para elaborar un diagrama de cajas
sobre especies de algas marinas en la Argentina:

Tambin en este mismo trabajo de 2007, en el captulo 5,

se encuentra un

ejercicio de diagrama de dispersin de riqueza de especies versus NAP para la


base de datos sobre biodiversidad (RIKZ.txt) que ser tambin trabajada en el
ejercicio 3 del captulo 6 de A Beginners Introduction to R, y que realizamos como
complemento a este apartado:

Ejercicios Captulo 6
1- El primer ejercicio solicita tomar el archivo sobre mediciones de temperatura
del ejercicio 4 y graficar la temperatura versus el tiempo de medicin en cada
estacin, y exportar las grficas como archivos .jpg.
Se Genera primero la funcin AllStations para pedir que seleccione los datos de
cada una, y se crea el bucle para cada estacin usando for e i, aclarando que

debe tomar todos los datos como numricos y as evitar errores. Luego se crea
GE (Grficos estaciones) y se especfica nombre de los archivos y tipo de archivo.
Se dan los valores a las ordenadas y se les otorgan etiquetas, as como ttulo con
main. Por ltimo se cierra el archivo jpg con dev.off().

Las 30 imgenes quedan guardadas automticamente en el directorio de trabajo


que se est usando, cada una con el nombre de la estacin correspondiente:

2- El ejercicio 2 solicita crear una variable con Ifelse y paste que permita
seleccionar las observaciones de un solo nido de bhos y un solo tratamiento
dietario de manera que se puedan sacar en limpio las observaciones de una sola
noche. Por ltimo se pide usar el cdigo del ejercicio anterior para crear un grfico
de negociaciones entre hermanos versus el tiempo de llegada de los padres.
Ifelse y paste para crear la variable
Como primera medida se importa la base, y luego se crea la condicin para el
nido satiated (Tambin se podra generar con deprived) y la noche 1 (tambin
podra hacerse con noche 2):

De este modo el programa arroja las 598 observaciones totales para cada nido, y
mediante el comando head(Bhos) nos da los detalles que requerimos en la
condicin para el primer nido:

Grficos usando mtodos del primer ejercicio para cada nido

3- Este ejercicio pide replicar los pasos dados en el apartado 6.4 del captulo, en lo
referente a ndices de diversidad. Primero se solicita importar el archivo RIKZ.txt y
extraer las columnas 2 a 76.

::::::::::::

::::::::::::

::::::::::::::

Luego se pide calcular la abundancia total en los sitios 1, 2 3 y 45


respectivamente.

Luego se pide encontrar una funcin que permita efectuar el total de varios sitios
de una sola vez. Esto se logra creando un loop:

O de manera ms elegante y con menos cdigo usando rowSums:

A continuacin se solicita calcular la riqueza de especies (nmero total de


especies diferentes en los sitios 1,2,3 y 45 respectivamente:

Y luego encontrar una funcin que haga esto todo a la vez, usando el ciclo y
despus la suma de filas:

Por ltimo, se pide crear una funcin para todos los ndices de diversidad, que
permita seleccionar el ndice calculado y que permita manejar valores perdidos:

4- Este apartado solo tiene 3 ejercicios. Como ejercicio 4 proponemos exportar en


jpg las grficas de cada una de las 6 categoras de Metacognicin de nuestra base
de datos de Estilos cognitivos versus el puntaje en el EFT:

5- Como ltimo ejercicio para este apartado proponemos crear una variable con
Ifelse y paste que permita seleccionar las observaciones de los estudiantes con
puntaje mayor a 32 en el EFT, y de manera que se puedan sacar en limpio sus
resultados en todas las categoras:

Ejercicios Captulo 7
1- El ejercicio 1 pide retomar la base de datos de gripe aviar en el sudeste
asitico para crear un diagrama de torta con los casos por pas. Luego uno con el
total de muertes por ao, y por ltimo uno con las muertes por pas. Ya en el
ejercicio 1 del captulo 3 se haban calculado estos totales, por lo que se procede
a crear los diagramas con estos datos. Primero se elabora el total de casos por
pas:

Se contina con muertes por pas:

Y por ltimo, muertes por ao:

2-

Este ejercicio requiere hacer un grfico de barras para las ocho medias

calculadas con la base de datos de vegetacin de la seccin 4.1, aadiendo una


lnea para indicar el error estndar. Luego se pide un grfico que represente las
medias como puntos negros, los errores como lneas alrededor de la media y los
datos observados como puntos abiertos: transepto
Primero se calculan las funciones (media, desviacin estndar, y longitud de la
muestra) usando tapply, y se agrupan los resultados de las tres funciones para los
ocho transectos mediante cbind(Me,Sd,Length):

Luego se crea el primer grfico, especificando la funcin a graficar Me y el rango


del eje y con ylim. Se le piden las flechas desde la media para indicar la
desviacin estndar y se le dan los parmetros de largo y ancho mediante arrows:

Para la siguiente grfica, se le pide que conserve los ruidos de los datos de
riqueza mediante jitter, luego se le pide que grafique con puntos los datos totales
del transecto 1 al 8 (1:8) (se usan los parmetros para forma y tamao
proporcional del punto respectivamente pch y cex), y se procede de igual manera
para la media sin desviacin y con desviacin estndar:

3- En este punto debe trabajarse con los mismos datos de vegetacin, para
elaborar un diagrama de cajas con los valores de R(Richness):

4- Este ejercicio pide tomar la base de datos CodParasite.txt, y solicita hacer un


grfico de caja de nmero de parsitos dependiendo del rea, sexo, etapa, o ao.
Se sugiere hacer combinaciones para detectar posibles interacciones. Primero se
grafica intensidad vs rea:

Se observa que la intensidad es menor en el rea 1 y mayor en el rea 4, donde el


tercer cuartil tiende a 50. Y la dispersin tambin tiende a hacia el aumento de la
intensidad.
Luego se procede a relacionar rea y Sexo mediante el operador *,
intensidad:

con la

A pesar de que en el primer grfico se observaba mayor intensidad en el rea 4, al


parecer en el rea 3, el sexo 1 se ve ms afectado que en otras reas.
Luego se procede a relacionar rea y Etapa mediante el operador *,

con la

intensidad:

Del mismo modo se observa que la etapa 1 se ve ms afectada dentro del rea 3
que en otras reas. Lo que parece sugerir que los sujetos ms inmaduros se ven
ms propensos a ser afectados por los parsitos. Este aserto podra comprobarse
si se observa mayor presencia de sujetos inmaduros en el rea 3, lo que explicara
los grficos generados.
Se procede por ltimo a relacionar rea y Edad mediante el operador *, con la
intensidad:

5- Este punto requiere usar la base de datos de nidos y alimentacin de bhos


usada en los ejercicios del captulo 6. Solicita hacer dos diagramas de puntos
Cleveland, uno para la negociacin de los polluelos y otro para el tiempo de
llegada de los padres. Por ltimo se debe hacer uno para tiempo de llegada al nido
por noche:
a) Negociacin

b) Tiempo de llegada

c) Tiempo de llegada al nido por noche


Hasta ac solo haba sido necesario definir cada variable y etiquetar los ejes
dentro de la funcin dotchart, sin embargo, para poder graficar los datos de tiempo
de llegada para cada noche, es necesario aadir el comando group, para as
clarificar cuantas veces en la noche llego el padre al nido. En este caso utiliza
como criterio de agrupacin con la variable FoodTreatment, pues se deduce que
en el caso de los nidos privados de alimento el padre no llega nunca, y en los que
se alimentan, el nmero de raciones equivale al nmero y tiempo de llegadas por
noche:

Ejercicios captulo 8
1- Se debe cargar el paquete lattice

y observar sus posibilidades con

demo(lattice). Por ltimo se deben copiar y pegar ejemplos. En este ejercicio


simplemente se carga el paquete lattice de la librera, y se solicitan los demos.
Cada grfico de demostracin aparece con su respectivo cdigo, y se avnaza por
las diferentes demostraciones dando enter para que aparezca la nueva grfica y
su respectivo cdigo:

2- Ac se pide crear un diagrama de dispersin con paneles mltiples para


comparar temperatura versus tiempo en cada estacin de la base de datos
RIKZENV.txt . Luego se pide hacer lo mismo para cada rea, y observar los
errores que puedan surgir para tratar de resolverlos. Por ltimo se pide agregar
una curva y una rejilla a cada panel.
Como primera medida se crea el dataframe para trabajar las variables que
necesitamos mediante la lnea de cdigo Data$MyTime <- Data$Year +
Data$dDay3 / 365:
Temperatura versus tiempo en cada estacin:

En este caso se observa que al usar el cdigo xyplot(T ~ MyTime | Station, type =
"l",

strip = strip.custom(bg = 'white'),

col.line = 1, data = Data), no se genera

ningn error, por lo que se procede a generar el grfico Temperatura vs rea.


Para este efecto se resa el mismo cdigo anterior, cambiando Station por Area:
xyplot(T ~ MyTime | Area, type = "l",
1, data = Data)

strip = strip.custom(bg = 'white'),

col.line =

Temperatura versus rea en cada estacin:

Sin embargo, en esta ocasin el programa s informa de un error:

El error se debe a que los valores de Area son raw bytes, es decir que no
representan valores, sino que solo etiquetan muestras especficas, por lo que no
tendra sentido representarlas en un grfico de dispersin (son variables
nominales) y as lo interpreta el programa.
Por tanto, la solucin consiste en ordenar los datos correspondientes a datos por
rea y datos por tiempo mediante

Nuevo<- order(Data$Area,Data$MyTime) y

Data2 <- Data[Nuevo,] para poder pedirle as que mejor haga los grficos de
dispersin

para ao/rea versus temperatura, y del mismo modo la rejilla y

posteriormente la curva:

Rejilla Temperatura Vs Ao/rea

Curva de normalizacin

3 En el ejercicio 3

se debe crear un diagrama de caja para diagramar

temperatura versus mes en cada rea. Luego se debe para poder comparar con
la figura 8.3 presentada en el captulo para datos de salinidad y comentar las
diferencias en los patrones.
Temperatura vs. Mes en cada rea (Ejercicio 3)

Grfica del captulo

Comentario
Usando los diagramas de cajas comparados en la rejilla, es ms fcil establecer
patrones estacionales y variaciones de temperatura entre meses y reas
respectivamente.
4- Para este ejercicio se debe crear un diagrama de puntos Cleveland para
descubrir si hay ms outliers en los datos de salinidad de los presentados en la
misma grfica de captulo presentada en el ejercicio anterior. Para este efecto se
pide hacer una rejilla con todas las estaciones y comparar con la figura del
captulo notando diferencias en eje y. Se utiliza el cdigo:
dotplot(SAL ~ factor(Month) | Station,
strip = strip.custom(bg = 'white'),
cex=.5,pch=16,
data = Data, xlab = "Mes",

ylab = "Salinidad")

Se observa que existen outliers en DANT, MARS, HUB, NO2, adems de los que
ya haban sido presentados en las cuatro estaciones de la grfica del captulo.
Tambin se observa que el eje y permite reducir los estimados de temperatura que
se tenan en la grfica del captulo, puesto que el mximo ni siquiera se acerca a
35 en ninguna de las estaciones o meses.
Por ltimo, se pide consultar el argumento relation entrando a ?xyplot y aplicarlo.
Este argumento sirve para determinar los lmites de cada panel dentro de la rejilla,
dependiendo de la longitud de caracteres de las variables. En este caso se usa
relation= free, lo que nos permite observar con mayor precisin los valores reales
de temperatura, y corregir la apreciacin de que los mximos no se acercaban a

35 hecha antes de usar relation. El cdigo sera el mismo, y simplemente se


agrega el argumento mencionado:
dotplot(SAL ~ factor(Month) | Station,
strip = strip.custom(bg = 'white'),
scales = list (y = list (relation = "free",
cex = .6),x = list (cex = .6)),
cex = .2,pch=16,
data = Data, xlab = "Mes",
ylab = "Salinidad")

5- Como quinto ejercicio para este apartado se seleccion el ejercicio 7 de los 10


que tiene este captulo. Se pide crear una rejilla con diagramas de dispersin
usando la salinidad como variable dependiente versus el tiempo para cada rea.
Se pide usar group para trazar lneas separadas para cada estacin:

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