Durante esta sección continuaremos trabajando con el datase de especímenes de plantas que tiene registrados la plataforma GBIF (Global Biodiversity Information Facility) para México. Pero para otros ejercicios usaremos un conjunto de datos que contiene información de la Oficina de Estadísticas de Transporte para todos los vuelos que partieron de los aeropuertos de la ciudad de Nueva York en 2014 (https://raw.githubusercontent.com/Rdatatable/data.table/master/vignettes/flights14.csv).
Selección por múltiples filtros
Aquí sólo mostraremos un ejemplo de algo que se retomará en el tema 6 Por ejemplo si nos interesa seleccionar los datos de acuerdo a más de una característica podemos apoyarnos del operador &.
Pero además de aplicar filtros data.table nos permite efectuar operaciones por ejemplo contar cuántas coincidencias tenemos para nuestros criterios aplicados.
plants[family=="Araceae"& year==1997, .N]
[1] 4
Es importante notar que en el primer espacio de nuestro corchete filtramos mientras en el segundo hicimos una operación. Lo que hicimos nos permite saber cuántas coincidencias hay de plantas registradas en 1997 independientemente de la especie. Existen símbolos especiales como .N que nos cuenta el número de observaciones que cumplen nuestros criterios.
Ejercicio
Pregunta: ¿Cuántos registros hay para el año 1983? (Utiliza .N)
Respuesta
plants[year==1983, .N]
[1] 2769
Además de esto podemos hacer operaciones, pero para esta parte usaremos otro dataset
flights <-fread("data/flights14.csv")
Por ejemplo si quisieramos saber el promedio de retraso de salida de los vuelos haríamos lo que sigue
flights[, mean(dep_delay)]
[1] 12.46526
Ahora calcularemos el promedio de retraso de salida para todo los vuelos que salieron del aeropuerto JFK en el mes de febrero.
Ahora es tu turno: Calcula el promedio de retraso de salida y entrada para todo los vuelos que salieron del aeropuerto JFK en el mes de Junio. Llama a tus nuevas columnas “mean_arr” y “mean_dep”
Ahora qué sucede si queremos generar una nueva columna dentro de nuestro data frame. Por ejemplo si estimamos la diferencia que hay entre los retrasos de salida y llegada