Ejercicios Libro R

download Ejercicios Libro R

of 70

description

Desarrollo de ejercicios de programación para el programa de minería de datos R

Transcript of Ejercicios Libro R

  • 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 NACIONALFACULTAD DE TECNOLOGA

    MAESTRA TIAECOLOMBIA

    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, decabeza 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 quelos 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, suinversa 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 unmarco 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 de2003 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 delcaptulo 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 inuevo:

    4- El ejercicio 4 pide crear dos variables para determinar el ao y mes en el que setomaron 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 1usando 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 y 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

  • 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 observacionesclimticas 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 a R y 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

  • 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 datosclimticos 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 deestudiantes 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 basede 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 elmnimo, 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 carreteraen 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

  • 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 logroprevio 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 denormalizacin 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 llamadaAntarcticbirds.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 mismosautores 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 temperaturadel 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 permitaseleccionar 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 loreferente 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 enjpg 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 conIfelse 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 sudesteasitico 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 mediascalculadas 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, paraelaborar un diagrama de cajas con los valores de R(Richness):

    4- Este ejercicio pide tomar la base de datos CodParasite.txt, y solicita hacer ungrfico 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 *, con la

    intensidad:

  • 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 bhosusada 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 condemo(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 paracomparar 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

  • 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

  • Rejilla Temperatura Vs Ao/rea

    Curva de normalizacin

  • 3 En el ejercicio 3 se debe crear un diagrama de caja para diagramartemperatura 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 paradescubrir 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 10que 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:

    EJERCICIOS DEL LIBRO.pdfEjercicios_Cap_tulo_2_.pdf