Este tutorial es una continuación de la discusión sobre el paquete dplyr . Aprenderá a organizar, filtrar y agrupar filas en R.
La lección anterior fue sobre operaciones de columna. Esta vez, la atención se centrará en las operaciones de fila en dplyr .
Cubriremos los conceptos básicos, que incluyen clasificar y filtrar un conjunto de datos y agregar y resumir registros . Para brindarle una descripción general de lo que puede esperar de esta lección, piense en una tabla dinámica en MS Excel.
Tabla de contenido
Empezando
Abra un nuevo script R en RStudio.
Similar a la lección de operaciones de columna, esta demostración utilizará el paquete de conjuntos de datos de Lahman . Descárgalo haciendo una búsqueda rápida en Google.
Para llevar el paquete Lahman a R, ejecute library (Lahman) . Para habilitar el paquete dplyr , ejecute library (tidyverse) . Además, recuerde que una mejor práctica para las convenciones de nomenclatura en R es usar letras minúsculas, de modo que asigne Teams a teams .
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-4553-0612132705470.png)
Funciones básicas para operaciones de fila
1. Organizar filas en R
La operación de la primera fila en dpylr es organizar ( ) . Esta función le permite reordenar las filas. Funciona organizando primero el marco de datos df y luego los campos dados.
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-4283-0612132708339.png)
Por ejemplo, ordenemos por ID de equipo . Ejecutar organizar (equipos, teamID) .
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-6573-0612132713746.png)
Si desea que se organicen en orden descendente, debe utilizar la función desc ( ) .
Como ejemplo, si desea ordenar por año en orden descendente, ejecute Organize (teams, desc(yearID)) .
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-3270-0612132718019.png)
Cuando hace esto, no está asignando la salida de nuevo a los equipos . Solo está viendo el resultado en la consola.
También es posible ordenar por múltiples criterios. Por ejemplo, si desea ordenar por ID de equipo y luego por ID de año en orden descendente, solo necesita ejecutar este código:
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-2040-0612132723086.png)
Cuando está ordenando filas, no está cambiando los datos. Los datos simplemente se están moviendo. No se agrega ni elimina nada.
2. Filtrar filas en R
La función de filtro ( ) agrega o elimina datos según los criterios seleccionados. Su código básico es:
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-810-0612132728162.png)
Como ejemplo, obtengamos todos los datos donde el yearID es mayor o igual a 2000. Siga el formato de la función de filtro e ingrese la información necesaria. Luego, ejecútalo. No olvide asignar esto a un nuevo objeto. En este caso, se asignó a modern .
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-9857-0612132732676.png)
Para verificar si las filas fueron efectivamente filtradas, puede usar la función dim ( ) . Da el número de filas y columnas en el marco de datos.
Si ejecuta dim (equipos) , verá que el marco de datos tiene 2955 filas y 48 columnas.
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-8519-0612132736657.png)
Si ejecuta la función dim en modern , verá que la cantidad de filas se ha reducido a 630 mientras que la cantidad de columnas sigue siendo la misma.
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-4083-0612132741451.png)
Las filas se han truncado porque algunos de los registros van más allá del año 2000.
Filtrar filas por múltiples campos
También es posible filtrar filas por múltiples campos en R. Deberá usar las declaraciones AND y OR .
Por ejemplo, filtremos los equipos por área. En este caso, se crea un nuevo objeto ohio . Los criterios de filtro son que el ID de equipo solo debe incluir Cleveland Y Cincinnati.
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-8887-0612132746458.png)
Debe usar el signo igual doble ( == ) para verificar la igualdad. Si solo usa un signo igual, R lo considerará como un operador de asignación. Utilice el símbolo de y comercial ( & ) para representar AND.
Para verificar, use la función de atenuación . Verás que el número de filas es 0.
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-8964-0612132750276.png)
Esto significa que no hay equipos en los que ambos estén basados en Cleveland y Cincinnati.
A continuación, probemos el Cleveland OR Cincinnati. El operador OR está representado por el operador de tubería ( | ). Entonces, todo lo que necesita hacer es reemplazar el ampersand con el operador de tubería y luego ejecutarlo. A continuación, vuelva a ejecutar la función de atenuación .
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-3146-0612132754940.png)
Verá que hay 251 filas en lugar de cero.
Ahora, ¿qué sucede si olvida usar un signo igual doble y en su lugar usa solo uno? Esto es lo que sucede:
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-2985-0612132800109.png)
RStudio mostrará un mensaje de error muy útil en la consola que le recordará que debe usar el signo igual doble.
3. Agrupar por y resumir filas en R
La función agrupar por ( ) le permite agregar registros por columnas seleccionadas y luego, en función de esa agregación, resumir otra columna.
La función agrupar por ( ) sigue este algoritmo:
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-513-0612132804627.png)
Como ejemplo, agrupemos por teamID y asignémoslo a un nuevo objeto. En este caso, el nuevo objeto se llama teams_ID . Luego, imprímelo.
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-8146-0612132809292.png)
En la consola, notará que la primera línea dice que es un tibble .
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-6225-0612132813696.png)
Un tibble es una mejora tidyverse sobre el marco de datos básico. Es una característica del paquete que aumenta y mejora lo que está disponible de fábrica.
La segunda línea es Grupos . Entonces, los datos ahora están agrupados por la columna teamID.
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-2026-0612132818343.png)
Y con eso, ahora puede usar la función de resumen ( ) en esos grupos.
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-4553-0612132822385.png)
Nota: la función de resumen puede ser con una s o una z, y dependerá del uso del inglés británico o americano.
Por ejemplo, resumamos teams_ID y obtengamos algunas estadísticas de resumen básicas. Busquemos la media, el mínimo y el máximo de las victorias de cada equipo. Recuerde resaltar todo el código antes de elegir Ejecutar .
![Organizar, filtrar y agrupar filas en R usando Dplyr Organizar, filtrar y agrupar filas en R usando Dplyr](/resources8/uc1/image-5288-0612132827190.png)
Luego puede ver en la Consola que se muestra un resumen de las estadísticas de cada equipo. Esto es muy similar a una tabla dinámica donde está agregando y resumiendo datos.
Marcos de datos en R: aprendizaje de los conceptos básicos
Niveles de factores en R: uso de variables categóricas y ordinales
Agregar, eliminar y cambiar el nombre de columnas en R mediante dplyr
Conclusión
Para recapitular, se han discutido dos operaciones en dplyr. Un tutorial anterior se centró en las operaciones de columna. Mientras tanto, esta lección actual le mostró cómo realizar operaciones de fila usando el paquete dplyr en RStudio. Específicamente, aprendió a organizar, filtrar y agrupar filas en R.
Lo siguiente que debe aprender es cómo combinar estas dos operaciones. El uso de todas las funciones que ha aprendido hasta ahora lo ayudará en gran medida a crear códigos en R. Sin embargo, una técnica más útil sería una canalización. Esto ayudará a que todo fluya junto. Por lo tanto, asegúrese de revisar los próximos tutoriales también.