Cómo filtrar filas que contienen una determinada cadena usando dplyr

A menudo, es posible que desee filtrar filas en un marco de datos en R que contienen una determinada cadena. Afortunadamente, esto es fácil de hacer usando la función filter () del paquete dplyr y la función grepl () en Base R.

Este tutorial muestra varios ejemplos de cómo utilizar estas funciones en la práctica utilizando el siguiente marco de datos:

#create marco de datos
df <- data.frame (player = c ('P Guard', 'S Guard', 'S Forward', 'P Forward', 'Center'),
                 puntos = c (12, 15, 19, 22, 32),
                 rebotes = c (5, 7, 7, 12, 11))

#ver marco de datos
 df

     rebotes de puntos de jugador
1 P Guardia 12 5
2 S Guardia 15 7
3 S Adelante 19 7
4 P Adelante 22 12
5 Centro 32 11

Ejemplo 1: Filtrar filas que contienen una determinada cadena

El siguiente código muestra cómo filtrar filas que contienen una determinada cadena:

#cargar biblioteca de paquetes
 dplyr (dplyr)

#filtrar filas que contienen la cadena 'Guard' en la columna del jugador 
df%>% filter ( grepl ('Guard', player))

   rebotes de puntos de jugador
1 P Guardia 12 5
2 S Guardia 15 7

Relacionado: Comparación de grep () frente a grepl () en R: ¿Cuál es la diferencia?

Ejemplo 2: Filtrar filas que contienen al menos una cadena

El siguiente código muestra cómo filtrar filas que contienen ‘Guardia’ o ‘Adelante’ en la columna del jugador:

#filtrar filas que contienen 'Guardia' o 'Adelante' en la columna del jugador 
df%>% filter ( grepl ('Guardia | Adelante', jugador))

     rebotes de puntos de jugador
1 P Guardia 12 5
2 S Guardia 15 7
3 S Adelante 19 7
4 P Adelante 22 12

El siguiente código muestra cómo filtrar filas que contienen ‘P’ o ‘Centro’ en la columna del reproductor:

#filtrar filas que contienen 'P' o 'Centro' en la columna del reproductor 
df%>% filter ( grepl ('P | Center', player))

     rebotes de puntos de jugador
1 P Guardia 12 5
2 P Adelante 22 12
3 Centro 32 11

Ejemplo 3: filtrar las filas que contienen una determinada cadena

El siguiente código muestra cómo filtrar (es decir, eliminar) filas que contienen ‘Guardia’ en la columna del jugador:

#filtrar filas que contienen 'Guardia' en la columna del jugador 
df%>% filter (! grepl ('Guardia', jugador))

     rebotes de puntos de jugador
1 S Adelante 19 7
2 P Adelante 22 12
3 Centro 32 11

El siguiente código muestra cómo filtrar (es decir, eliminar) filas que contienen ‘Guardia’ o ‘Centro’ en la columna del jugador:

#filtrar filas que contienen 'Guardia' o 'Centro' en la columna del jugador 
df%>% filter (! grepl ('Guardia | Centro', jugador))

     rebotes de puntos de jugador
1 S Adelante 19 7
2 P Adelante 22 12

Puede encontrar más tutoriales de R aquí .

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Se utiliza una prueba t de dos muestras para comprobar si las medias de dos poblaciones son iguales o no.…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!