Filtre datos por múltiples condiciones en R usando Dplyr

En este artículo , aprenderemos cómo podemos filtrar el marco de datos por múltiples condiciones en el lenguaje de programación R usando el paquete dplyr .

La función filter() se usa para producir un subconjunto del marco de datos, conservando todas las filas que cumplen las condiciones especificadas. El método filter() en el lenguaje de programación R se puede aplicar tanto a datos agrupados como no agrupados. Las expresiones incluyen operadores de comparación (==, >, >= ), operadores lógicos (&, |, !, xor()), operadores de rango (entre(), cerca()), así como verificación de valor NA con los valores de columna. . El marco de datos del subconjunto debe conservarse en una variable separada.

Método 1: usar filter() directamente

Para esto, simplemente las condiciones para verificar se pasan a la función de filtro, esta función verifica automáticamente el marco de datos y recupera las filas que cumplen las condiciones.

Sintaxis : filtro (df, condición)

Parámetro :

df:  el objeto del marco de datos

condición: filtrado basado en esta condición

Ejemplo: programa R para filtrar filas usando la función filter()

R

library(dplyr)
 
# sample data
df=data.frame(x=c(12,31,4,66,78),
              y=c(22.1,44.5,6.1,43.1,99),
              z=c(TRUE,TRUE,FALSE,TRUE,TRUE))
 
# condition
filter(df, x<50 & z==TRUE)

Producción:

   x    y    z
1 12 22.1 TRUE
2 31 44.5 TRUE

Método 2: Usar %>% con filter()

Este enfoque se considera un enfoque más limpio cuando se trabaja con un gran conjunto de condiciones porque se hace referencia al marco de datos usando %>% y luego la condición se aplica a través de la función filter().

Sintaxis: df %>% filtro (condición)

Parámetro: 

df : el objeto del marco de datos

condition : filtrado basado en esta condición

Ejemplo: programa R para filtrar usando %>% 

R

library(dplyr)
 
df=data.frame(x=c(12,31,4,66,78),
              y=c(22.1,44.5,6.1,43.1,99),
              z=c(TRUE,TRUE,FALSE,TRUE,TRUE))
 
df %>%
  filter(y < 45, z != FALSE)

Producción:

 x    y    z
1 12 22.1 TRUE
2 31 44.5 TRUE
3 66 43.1 TRUE

Método 3: Usar NA con filter()

La función is.na() acepta un valor y devuelve VERDADERO si es un valor NA y devuelve FALSO si no es un valor NA .

Sintaxis: df %>% filter(!is.na(x))

Parámetros :

is.na() : se requiere verificar si el valor es NA o no

x : columna del objeto del marco de datos.

Ejemplo: programa R para filtrar el marco de datos usando NA

R

library(dplyr)
 
df=data.frame(x=c(12,31,NA,NA,NA),
              y=c(22.1,44.5,6.1,10,99),
              z=c(TRUE,TRUE,FALSE,TRUE,TRUE))
 
df %>% filter(!is.na(x))

Producción:

   x    y    z
1 12 22.1 TRUE
2 31 44.5 TRUE

Método 4: Usar el operador ‘ %in%’ con filter()

El operador %in% se utiliza para filtrar solo las columnas que contienen los datos proporcionados en el vector.

Sintaxis: filter(columna %in% c(“datos1”, “datos2″….”datos N”))

Parámetros: 

columna : nombre de columna del marco de datos

c( “datos1”, “datos2″….”datos N” ): Un vector que contiene los nombres de los datos que se buscarán e imprimirán.

Ejemplo: programa R para filtrar el marco de datos usando %in%  

R

library(dplyr)
 
df=data.frame(x=c(12,31,10,2,99),
              y=c(22.1,44.5,6.1,10,99),
              z=c("Apple","Guava", "Mango", "Apple","Mango"))
 
df %>%
 filter(z %in% c("Apple", "Mango"))

Producción:

   x    y     z
1 12 22.1 Apple
2 10  6.1 Mango
3  2 10.0 Apple
4 99 99.0 Mango

Publicación traducida automáticamente

Artículo escrito por sudhanshublaze y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *