Filtrar o crear subconjuntos de filas en R usando Dplyr

En este artículo, vamos a filtrar las filas del marco de datos en el lenguaje de programación R usando el paquete Dplyr.

Trama de datos en uso:

Método 1: crear subconjuntos o filtrar una fila usando filter()

Para filtrar o crear subconjuntos de filas vamos a utilizar la función filter().

Sintaxis :

filtro (marco de datos, condición)

Aquí, el marco de datos es el marco de datos de entrada y la condición se usa para filtrar los datos en el marco de datos

Ejemplo: programa R para filtrar el marco de datos 

R

# load the package
library(dplyr)
  
# create the dataframe with three columns
# id , department and salary with 8 rows
data=data.frame(id=c(7058,7059,7060,7089,7072,7078,7093,7034),
                  
                department=c('IT','sales','finance','IT','finance',
                             'sales','HR','HR'),
                  
                salary=c(34500.00,560890.78,67000.78,25000.00,
                         78900.00,25000.00,45000.00,90000))
  
#display actual  dataframe
print(data)
print("==========================")
  
#filter dataframe with department is sales
print(filter(data,department=="sales"))

Producción:

Método 2: filtrar el marco de datos con múltiples condiciones

 Vamos a utilizar la función de filtro para filtrar las filas. Aquí tenemos que especificar la condición en la función de filtro.

Sintaxis:

filter(marco de datos, condition1 condition2,. condition n)

Aquí, el marco de datos es el marco de datos de entrada y las condiciones se usan para filtrar los datos en el marco de datos

Ejemplo: programa R para filtrar varias filas

R

# load the package
library(dplyr)
  
# create the dataframe with three columns
# id , department and salary with 8 rows
data=data.frame(id=c(7058,7059,7060,7089,7072,7078,7093,7034),
                  
                department=c('IT','sales','finance','IT','finance',
                             'sales','HR','HR'),
                  
                salary=c(34500.00,560890.78,67000.78,25000.00,
                         78900.00,25000.00,45000.00,90000))
  
# display actual  dataframe
print(data)
print("==========================")
  
# filter dataframe with department is sales and 
# salary is greater than 27000
print(filter(data,department=="sales" & salary >27000))

Producción:

Ejemplo: Filtrar filas por operador OR

R

# load the package
library(dplyr)
  
# create the dataframe with three columns
# id , department and salary with 8 rows
data=data.frame(id=c(7058,7059,7060,7089,7072,7078,7093,7034),
                  
                department=c('IT','sales','finance','IT','finance',
                             'sales','HR','HR'),
                  
                salary=c(34500.00,560890.78,67000.78,25000.00,
                         78900.00,25000.00,45000.00,90000))
  
# display actual  dataframe
print(data)
print("==========================")
  
# filter dataframe with department is IT or salary 
# is greater than 27000
print(filter(data,department=="IT" |  salary >27000))

Producción:

Ejemplo: Programa R para filtrar usando y, o

R

# load the package
library(dplyr)
  
# create the dataframe with three columns
# id , department and salary with 8 rows
data=data.frame(id=c(7058,7059,7060,7089,7072,7078,7093,7034),
                  
                department=c('IT','sales','finance','IT','finance',
                             'sales','HR','HR'),
                  
                salary=c(34500.00,560890.78,67000.78,25000.00,
                         78900.00,25000.00,45000.00,90000))
  
# display actual  dataframe
print(data)
print("==========================")
  
# filter dataframe with department is sales 
# and salary is greater than 27000 or salary
# less than 5000
print(filter(data,department=="sales" & salary >27000 | salary<5000))

Producción:

Método 3: Usar la función slice_head()

Esta función se usa para obtener las primeras n filas del marco de datos.

Sintaxis :

trama de datos %>% slice_head(n)

donde, marco de datos es el marco de datos de entrada, %>% es el operador (operador de tubería) que carga el marco de datos y n es el número de filas que se mostrarán.

Ejemplo: programa R que usó slice_head() para filtrar filas

R

# load the package
library(dplyr)
  
# create the dataframe with three columns
# id , department and salary with 8 rows
data=data.frame(id=c(7058,7059,7060,7089,7072,7078,7093,7034),
                  
                department=c('IT','sales','finance','IT','finance',
                             'sales','HR','HR'),
                  
                salary=c(34500.00,560890.78,67000.78,25000.00,
                         78900.00,25000.00,45000.00,90000))
  
# display actual  dataframe
print(data)
print("==========================")
  
# display top 3 values with slice_head
data %>% slice_head(n=3)
print("==========================")
  
# display top 5 values with slice_head
data %>% slice_head(n=5)
print("==========================")
  
# display top 1 value  with slice_head
data %>% slice_head(n=1)

Producción:

Método 4: Usar la función slice_tail()

Esta función se usa para obtener las últimas n filas del marco de datos

Sintaxis :

trama de datos %>% slice_tail(n)

Donde, el marco de datos es el marco de datos de entrada, %>% es el operador (operador de tubería) que carga el marco de datos y n es el número de filas que se mostrarán desde el último

Ejemplo: programa R para filtrar las últimas filas usando el método slice_tail()

R

# load the package
library(dplyr)
  
# create the dataframe with three columns
# id , department and salary with 8 rows
data=data.frame(id=c(7058,7059,7060,7089,7072,7078,7093,7034),
                  
                department=c('IT','sales','finance','IT','finance',
                             'sales','HR','HR'),
                  
                salary=c(34500.00,560890.78,67000.78,25000.00,
                         78900.00,25000.00,45000.00,90000))
  
# display actual  dataframe
print(data)
print("==========================")
  
# display last 3 values with slice_tail
data %>% slice_tail(n=3)
print("==========================")
  
  
# display last 5 values with slice_tail
data %>% slice_tail(n=5)
print("==========================")
  
# display last 1 value  with slice_tail
data %>% slice_tail(n=1)

Producción:

Método 5: Usar la función top_n()

Esta función se utiliza para obtener las primeras n filas.

Sintaxis :

datos %>% top_n(n=5)

Ejemplo: programa R que filtra filas usando la función top_n()

R

# load the package
library(dplyr)
  
# create the dataframe with three columns
# id , department and salary with 8 rows
data=data.frame(id=c(7058,7059,7060,7089,7072,7078,7093,7034),
                  
                department=c('IT','sales','finance','IT','finance',
                             'sales','HR','HR'),
                  
                salary=c(34500.00,560890.78,67000.78,25000.00,78900.00,
                         25000.00,45000.00,90000))
  
# display actual  dataframe
print(data)
print("==========================")
  
# display last 3 values with top_n
data %>% top_n(n=3)
print("==========================")
  
# display last 5 values with top_n
data %>% top_n(n=5)
print("==========================")
  
# display last 1 value  with top_n
data %>% top_n(n=1)

Producción:

Método 6: Usar la función slice_sample()

Aquí, vamos a filtrar filas usando la función slice_sample(), esto devolverá una muestra de n filas al azar

Sintaxis :

rebanada_muestra(n)

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

R

# load the package
library(dplyr)
  
# create the dataframe with three columns
# id , department and salary with 8 rows
data=data.frame(id=c(7058,7059,7060,7089,7072,7078,7093,7034),
                  
                department=c('IT','sales','finance','IT','finance',
                             'sales','HR','HR'),
                  
                salary=c(34500.00,560890.78,67000.78,25000.00,
                         78900.00,25000.00,45000.00,90000))
  
# display actual  dataframe
print(data)
print("==========================")
  
# display last 3 values with slice_sample
data %>% slice_sample(n=3)
print("==========================")
  
# display last 5 values with slice_sample
data %>% slice_sample(n=5)
print("==========================")
  
# display last 1 value  with slice_sample
data %>% slice_sample(n=1)

Producción:

Método 7: Usar la función slice_max()

Esta función devuelve el máximo de n filas del marco de datos basado en una columna 

Sintaxis:

trama de datos %>% slice_max(columna, n )

Donde el marco de datos es el marco de datos de entrada, la columna es la columna del marco de datos donde se devuelven las filas máximas en función de esta columna y n es el número máximo de filas que se devolverán

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

R

# load the package
library(dplyr)
  
# create the dataframe with three columns
# id , department and salary with 8 rows
data=data.frame(id=c(7058,7059,7060,7089,7072,7078,7093,7034),
                  
                department=c('IT','sales','finance','IT','finance',
                             'sales','HR','HR'),
                  
                salary=c(34500.00,560890.78,67000.78,25000.00,
                         78900.00,25000.00,45000.00,90000))
  
# display actual  dataframe
print(data)
print("==========================")
  
# return top 3 maximum rows based on salary 
# column in the dataframe
print(data %>% slice_max(salary, n = 3))
print("==========================")
  
# return top 5 maximum rows based on department 
# column in the dataframe
print(data %>% slice_max(department, n = 5))
print("==========================")

Producción:

Método 8: Usar la función slice_min()

Esta función devuelve el mínimo de n filas del marco de datos basado en una columna

Sintaxis:

trama de datos %>% slice_min(columna, n )

Donde el marco de datos es el marco de datos de entrada, la columna es la columna del marco de datos donde se devuelven las filas máximas en función de esta columna y n es el número mínimo de filas que se devolverán

Ejemplo: programa R para filtrar usando slice_min()

R

# load the package
library(dplyr)
  
# create the dataframe with three columns
# id , department and salary with 8 rows
data=data.frame(id=c(7058,7059,7060,7089,7072,7078,7093,7034),
                  
                department=c('IT','sales','finance','IT','finance',
                             'sales','HR','HR'),
                  
                salary=c(34500.00,560890.78,67000.78,25000.00,
                         78900.00,25000.00,45000.00,90000))
  
# display actual  dataframe
print(data)
print("==========================")
  
# return top 3 minimum rows based on salary 
# column in the dataframe
print(data %>% slice_min(salary, n = 3))
print("==========================")
  
# return top 5 minimum rows based on department 
# column in the dataframe
print(data %>% slice_min(department, n = 5))
print("==========================")

Producción:

Método 9: Usar la función sample_frac()

La función sample_frac() selecciona un porcentaje aleatorio de filas de un marco de datos (o tabla). El primer parámetro contiene el nombre del marco de datos, el segundo parámetro indica qué porcentaje de filas seleccionar

Sintaxis:

(muestra_frac(marco de datos, n)

Donde dataframe es el dataframe de entrada y n es el valor de la fracción

Ejemplo: programa R para filtrar datos usando la función sample_frac()

R

# load the package
library(dplyr)
  
# create the dataframe with three columns
# id , department and salary with 8 rows
data=data.frame(id=c(7058,7059,7060,7089,7072,7078,7093,7034),
                  
                department=c('IT','sales','finance','IT','finance',
                             'sales','HR','HR'),
                  
                salary=c(34500.00,560890.78,67000.78,25000.00,
                         78900.00,25000.00,45000.00,90000))
  
# display actual  dataframe
print(data)
print("==========================")
  
# return 2 rows
print(sample_frac(data,0.2))
print("==========================")
  
# return 4 rows
print(sample_frac(data,0.4))
print("==========================")
  
# return 7 rows
print(sample_frac(data,0.7))
print("==========================")

Producción:

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 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 *