Filtrar, ordenar y crear columnas en R con dplyr
Con dplyr encadenas pasos usando |>: lee cada línea como «y luego».
Los datos
library(tidyverse)
ventas <- read_csv("https://grafoso.com/r/ventas.csv", show_col_types = FALSE)Filtrar filas
filter() conserva las filas que cumplen todas las condiciones. Para comparar se usa ==, con dos signos.
ventas |>
filter(sucursal == "Norte", cantidad > 40)# A tibble: 7 × 5
fecha sucursal producto cantidad precio
<date> <chr> <chr> <dbl> <dbl>
1 2026-03-16 Norte Galletas 41 45
2 2026-04-17 Norte Café 47 85
3 2026-04-11 Norte Té 44 60
4 2026-05-20 Norte Galletas 49 45
5 2026-06-10 Norte Café 44 85
6 2026-06-22 Norte Té 42 60
7 2026-06-01 Norte Galletas 49 45Crear, elegir y ordenar
mutate() crea columnas, select() elige cuáles ver y arrange(desc()) ordena de mayor a menor.
ventas <- ventas |>
mutate(importe = cantidad * precio)
ventas |>
select(fecha, producto, importe) |>
arrange(desc(importe)) |>
head(5)# A tibble: 5 × 3
fecha producto importe
<date> <chr> <dbl>
1 2026-05-05 Café 4165
2 2026-04-04 Café 4080
3 2026-04-17 Café 3995
4 2026-05-19 Café 3995
5 2026-06-10 Café 3740Preguntas frecuentes
¿Cómo pido una condición u otra?
Con |. Por ejemplo, filter(sucursal == "Norte" | sucursal == "Sur"), o con %in%: filter(sucursal %in% c("Norte", "Sur")).
¿Se modificó mi tabla original?
Solo si guardas el resultado con <-. Filtrar sin guardar únicamente muestra el resultado.