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: