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