Clase 9
Objetivos de Aprendizaje
- Conectar a una base de datos desde R. 
- Utilizar verbos tidyverse para seleccionar columnas y filtrar filas. 
- Escribir código R que permita modificar/generar columnas utilizando verbos tidyverse. 
- Entender qué es un NA en R y como afecta los resultados de una consulta. 
- Utilizar verbos de tidyverse para resumir información 
- Escribir código de R para poder hacer JOINs. 
- Entender que es una tabla larga y una tabla ancha. 
- Utilizar pivot_wider y pivot_longer para cambiar la estrcutura de una tabla. 
Slides
Ejercicios
Utilizando la misma base de datos con la que venimos trabajando y desde RStudio resolver los siguientes ejercicios y subir el código al campus. Uno por grupo!
1. summarise(), group_by()
- A partir de la tabla surveys, calcular la media, máximo, mínimo y cantidad de registros (usando la función n()) para la variable hindfoot_length. - Primero escriban la consulta usando SQL (pueden usar comentarios de R con # o escribirlo antes del bloque de código correspondiente). 
- Luego escriban la consulta usando dplyr y ejecuten el código para ver el resultado y verificar que sea correcto. 
- Usando show_query() comparar la consulta con lo que escribieron en a. 
 
- Modificar la consulta anterior (hacer una copia) para calcular la media, máximo, mínimo y cantidad de registros para la variable hindfoot_length por cada especie (specie_id). De nuevo: - Primero escriban la consulta usando SQL (pueden usar comentarios de R con # o escribirlo antes del bloque de código correspondiente). 
- Luego escriban la consulta usando dplyr y ejecuten el código para ver el resultado y verificar que sea correcto. 
- Usando show_query() comparar la consulta con lo que escribieron en a. 
 
- ¿Cual es la especie más común? Pista: hay que agregar la función arrange() 
2. Joins!
Consejito: miren el diagrama en la dipo 15 para guiarse con las claves y los campos que tienen las tablas
- Une la tabla plot con la tabla surveys para devolver la cantidad de surveys por cada tipo de gráfico. 
- Conecta a la tabla species y escribe una consulta que una las tablas species con la tabla survey excluyendo a todos los registros de los no roedores (En inglés Roedores es Rodent). 
- Modifica la consulta anterior para que devuelva la cantidad de roedores por año. 
3.pivot_wider() y pivot()longer
- A partir de la tabla con toda la información (que creamos uniendo el resto de las tablas): - Contar la cantidad de "genus" distintos para cada plot_id y año. Algunas pistas: - La tabla debera tener 3 columnas: plot_id, year, n_generos (que contiene la cantidad de genus distintos 
- Para calcular la cantidad de cosas distintas exploren la funcion n_distinct() y summarise()! 
 
- "Ensancha" la tabla para organizar la información tal que los años sean columnas y plot_id se organice en filas. 
- "Alarga" la tabla para que en cada fila haya una combinación de plot_id y year. 
 
Lectura sugerida
- When We Miss Missingness (Cuando extrañamos la falta) por Cat Hicks