Contenido de este artículo
- 0
- 0
- 0
- 0
A menudo, puede estar interesado en subconjuntos de un marco de datos basado en ciertas condiciones en R. Afortunadamente, esto es fácil de hacer usando la función filter () del paquete dplyr .
biblioteca (dplyr)
Este tutorial explica varios ejemplos de cómo usar esta función en la práctica usando el conjunto de datos dplyr incorporado llamado starwars :
#ver las primeras seis filas del conjunto de datos de Starwars
cabeza (starwars)
# A tibble: 6 x 13
nombre altura masa color_de_piel color_de_piel color_de_ ojos nacimiento_año género mundo natal
1 Luke ~ 172 77 rubio azul claro 19 hombre Tatooine
2 C-3PO 167 75 <NA> amarillo dorado 112 <NA> Tatooine
3 R2-D2 96 32 <NA> blanco, azul ~ rojo 33 <NA> Naboo
4 Dardo ~ 202136 ninguno blanco amarillo 41,9 macho Tatooine
5 Leia ~ 150 49 marrón marrón claro 19 hembra Alderaan
6 Owen ~ 178120 marrón, gr ~ azul claro 52 macho Tatooine
# ... con 4 variables más: especies, películas, vehículos,
# naves estelares
Ejemplo 1: Filtrar filas iguales a algún valor
El siguiente código muestra cómo filtrar el conjunto de datos para las filas donde la variable ‘especie’ es igual a Droid.
starwars%>% filter (especie == ' Droid ')
# A tibble: 5 x 13
nombre altura masa color_de_piel color_de_piel color_de_ ojos nacimiento_año género mundo natal
1 C-3PO 167 75 amarillo dorado 112 Tatooine
2 R2-D2 96 32 blanco, azul ~ rojo 33 Naboo
3 R5-D4 97 32 blanco, rojo rojo NA Tatooine
4 IG-88200140 ninguno rojo metálico 15 ninguno
5 BB8 NA NA ninguno ninguno negro NA ninguno
# ... con 4 variables más: especies, películas, vehículos,
# naves estelares
Podemos ver que 5 filas en el conjunto de datos cumplieron con esta condición, como lo indica #A tibble: 5 x 13 .
Ejemplo 2: Filtrar filas con ‘Y’
También podemos filtrar por filas donde la especie es Droid y el color de ojos es rojo:
starwars%>% filter (especie == ' Droid ' & eye_color == ' rojo ')
# A tibble: 3 x 13
nombre altura masa color_de_piel color_de_piel color_de_ ojos nacimiento_año género mundo natal
1 R2-D2 96 32 <NA> blanco, azul ~ rojo 33 <NA> Naboo
2 R5-D4 97 32 <NA> blanco, rojo rojo NA <NA> Tatooine
3 IG-88200140 ninguno rojo metálico 15 ninguno <NA>
# ... con 4 variables más: especies, películas, vehículos,
# naves estelares
Podemos ver que 3 filas del conjunto de datos cumplieron con esta condición.
Ejemplo 3: Filtrar filas usando ‘O’
También podemos filtrar por filas donde la especie es Droid o el color de ojos es rojo:
starwars%>% filter (especie == ' Droid ' | eye_color == ' rojo ')
# A tibble: 7 x 13
nombre altura masa color_de_piel color_de_piel color_de_ ojos nacimiento_año género mundo natal
1 C-3PO 167 75 <NA> amarillo dorado 112 <NA> Tatooine
2 R2-D2 96 32 <NA> blanco, azul ~ rojo 33 <NA> Naboo
3 R5-D4 97 32 <NA> blanco, rojo rojo NA <NA> Tatooine
4 IG-88200140 ninguno rojo metálico 15 ninguno <NA>
5 Bossk 190113 ninguno verde rojo 53 macho Trandosha
6 Nute ~ 191 90 ninguno moteado g ~ rojo NA macho Cato Nei ~
7 BB8 NA NA ninguna ninguna negra NA ninguna <NA>
# ... con 4 variables más: especies, películas, vehículos,
# naves estelares
Podemos ver que 7 filas en el conjunto de datos cumplieron con esta condición.
Ejemplo 4: Filtrar filas con valores en una lista
También podemos filtrar por filas donde el color de ojos está en una lista de colores:
starwars%>% filter (eye_color % en% c (' azul ', ' amarillo ', ' rojo '))
# A tibble: 35 x 13
nombre altura masa color_de_piel color_de_piel color_de_ojos nacimiento_año
1 Luke ~ 172 77 rubio azul claro 19 hombre
2 C-3PO 167 75 <NA> amarillo dorado 112 <NA>
3 R2-D2 96 32 <NA> blanco, azul ~ rojo 33 <NA>
4 Dardo ~ 202136 ninguno blanco amarillo 41,9 macho
5 Owen ~ 178120 marrón, gr ~ azul claro 52 macho
6 Beru ~ 165 75 marrón azul claro 47 hembra
7 R5-D4 97 32 <NA> blanco, rojo rojo NA <NA>
8 Anak ~ 188 84 rubio azul claro 41,9 hombre
9 Wilh ~ 180 NA castaño rojizo, g ~ azul claro 64 macho
10 Masticar ~ 228112 marrón desconocido azul 200 macho
# ... con 25 filas más y 5 variables más: mundo natal, especie,
# películas, vehículos, naves espaciales
Podemos ver que 35 filas en el conjunto de datos tenían un color de ojos azul, amarillo o rojo.
Relacionado: Cómo utilizar% en% Operador en R (con ejemplos)
Ejemplo 5: Filtrar filas con menor o mayor que
También podemos filtrar filas usando operaciones menores o mayores que en variables numéricas:
# buscar filas en las que la altura sea superior a 250
starwars%>% filter (altura > 250)
# A tibble: 1 x 13
nombre altura masa color_de_piel color_de_piel color_de_ ojos nacimiento_año género mundo natal
1 Yara ~ 264 NA ninguno blanco amarillo NA masculino Quermia
# ... con 4 variables más: especies, películas, vehículos,
# naves estelares
# buscar filas donde la altura esté entre 200 y 220
starwars%>% filter (altura > 200 y altura < 220)
# A tibble: 5 x 13
nombre altura masa color_de_piel color_de_piel color_de_ ojos nacimiento_año género mundo natal
1 Dardo ~ 202136 ninguno blanco amarillo 41,9 macho Tatooine
2 Rugo ~ 206 NA ninguno verde naranja NA macho Naboo
3 Taun ~ 213 NA ninguno gris negro NA hembra Kamino
4 Grie ~ 216159 ninguno marrón, blan ~ verde, y ~ NA macho Kalee
5 Tion ~ 206 80 ninguno gris negro NA macho Utapau
# ... con 4 variables más: especies, películas, vehículos,
# naves estelares
# encontrar filas donde la altura esté por encima de la altura promedio
starwars%>% filter (height > mean (height, na.rm = TRUE ))
# A tibble: 51 x 13
nombre altura masa color_de_piel color_de_piel color_de_ojos nacimiento_año
1 Dardo ~ 202136 ninguno blanco amarillo 41,9 macho
2 Owen ~ 178120 marrón, gr ~ azul claro 52 macho
3 Bigg ~ 183 84 negro marrón claro 24 macho
4 Obi- ~ 182 77 castaño rojizo, w ~ gris azulado claro 57 macho
5 Anak ~ 188 84 rubio azul claro 41,9 hombre
6 Wilh ~ 180 NA castaño rojizo, g ~ azul claro 64 macho
7 Masticar ~ 228112 marrón desconocido azul 200 macho
8 Han ~ 180 80 marrón claro marrón 29 macho
9 Jabb ~ 175 1358 <NA> verde-tostado ~ naranja 600 herma ~
10 Jek ~ 180110 marrón claro azul NA macho
# ... con 41 filas más y 5 variables más: mundo natal, especie,
# películas, vehículos, naves espaciales
Puede encontrar la documentación completa para el filtro () la función aquí .
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/
¿Te hemos ayudado?
Ayudanos ahora tú, dejanos un comentario de agradecimiento, nos ayuda a motivarnos y si te es viable puedes hacer una donación:La ayuda no cuesta nada
Por otro lado te rogamos que compartas nuestro sitio con tus amigos, compañeros de clase y colegas, la educación de calidad y gratuita debe ser difundida, recuerdalo: