У меня есть набор данных о погоде с кучей различных переменных погоды (влажность, температура и т. Д.), А также столбец с идентификатором метеостанции.
Я хочу выполнить фильтрацию по каждой станции и запустить сводку поПогодные переменные после фильтрации и объединения обратно в 1 кадр данных или таблицу.
Я сделал репрезент с mtcars, который использует цилиндр в качестве моей дискретной переменной вместо моей метеостанции.
Вместо того, чтобы вводить это для каждого дискретного значения, я должен сделать функцию, или есть какой-то крутой трюк с обратным ходом, которого я не знаю, чтобы выполнить это?
library(tidyverse, warn.conflicts = FALSE, quietly = TRUE)
library(broom)
mtcars_new <- rownames_to_column(mtcars, "car")
cyl_4 <- filter(mtcars_new, cyl == 4) %>% select(4:8) %>% map(~tidy(summary(.x))) %>% do.call(rbind,.) %>% rownames_to_column(var = "var")
cyl_6 <- filter(mtcars_new, cyl == 6) %>% select(4:8) %>% map(~tidy(summary(.x))) %>% do.call(rbind,.) %>% rownames_to_column(var = "var")
cyl_8 <- filter(mtcars_new, cyl == 8) %>% select(4:8) %>% map(~tidy(summary(.x))) %>% do.call(rbind,.) %>% rownames_to_column(var = "var")
bind_rows(list("4" = cyl_4, "6" = cyl_6, "8" = cyl_8), .id = "cyl")
#> cyl var minimum q1 median mean q3 maximum
#> 1 4 disp 71.100 78.8500 108.000 105.136364 120.65000 146.700
#> 2 4 hp 52.000 65.5000 91.000 82.636364 96.00000 113.000
#> 3 4 drat 3.690 3.8100 4.080 4.070909 4.16500 4.930
#> 4 4 wt 1.513 1.8850 2.200 2.285727 2.62250 3.190
#> 5 4 qsec 16.700 18.5600 18.900 19.137273 19.95000 22.900
#> 6 6 disp 145.000 160.0000 167.600 183.314286 196.30000 258.000
#> 7 6 hp 105.000 110.0000 110.000 122.285714 123.00000 175.000
#> 8 6 drat 2.760 3.3500 3.900 3.585714 3.91000 3.920
#> 9 6 wt 2.620 2.8225 3.215 3.117143 3.44000 3.460
#> 10 6 qsec 15.500 16.7400 18.300 17.977143 19.17000 20.220
#> 11 8 disp 275.800 301.7500 350.500 353.100000 390.00000 472.000
#> 12 8 hp 150.000 176.2500 192.500 209.214286 241.25000 335.000
#> 13 8 drat 2.760 3.0700 3.115 3.229286 3.22500 4.220
#> 14 8 wt 3.170 3.5325 3.755 3.999214 4.01375 5.424
#> 15 8 qsec 14.500 16.0975 17.175 16.772143 17.55500 18.000