Organizar, filtrar y agrupar filas en R usando Dplyr

Organizar, filtrar y agrupar filas en R usando Dplyr

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

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

Por ejemplo, ordenemos por ID de equipo . Ejecutar organizar (equipos, teamID) .

Organizar, filtrar y agrupar filas en R usando Dplyr

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

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

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

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

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

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

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

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

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

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

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

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

En la consola, notará que la primera línea dice que es un tibble .

Organizar, filtrar y agrupar filas en R usando Dplyr

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

Y con eso, ahora puede usar la función de resumen ( ) en esos grupos.

Organizar, filtrar y agrupar filas en R usando Dplyr

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

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.


Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.