Я пытаюсь отойти от rowwise () для столбцов списка, поскольку я слышал, что команда Tidyverse находится в процессе ее уменьшения.Однако я не привык использовать функции мурлыкания, поэтому считаю, что должен быть лучший способ сделать следующее:
Я создаю список-столбец, содержащий тиббл для каждого вида.Затем я хочу пойти в таблицу и взять среднее значение определенных переменных.В первом случае используется карта, а во втором - строчное решение, которое я лично считаю чище.
Кто-нибудь знает лучший способ использования карты в этой ситуации?
library(tidyverse)
iris %>%
group_by(Species) %>%
nest() %>%
mutate(mean_slength = map_dbl(data, ~mean(.$Sepal.Length, na.rm = TRUE)),
mean_swidth = map_dbl(data, ~mean(.$Sepal.Width, na.rm = TRUE))
)
#> # A tibble: 3 x 4
#> Species data mean_slength mean_swidth
#> <fct> <list> <dbl> <dbl>
#> 1 setosa <tibble [50 x 4]> 5.01 3.43
#> 2 versicolor <tibble [50 x 4]> 5.94 2.77
#> 3 virginica <tibble [50 x 4]> 6.59 2.97
iris %>%
group_by(Species) %>%
nest() %>%
rowwise() %>%
mutate(mean_slength = mean(data$Sepal.Length, na.rm = TRUE),
mean_swidth = mean(data$Sepal.Width, na.rm = TRUE))
#> Source: local data frame [3 x 4]
#> Groups: <by row>
#>
#> # A tibble: 3 x 4
#> Species data mean_slength mean_swidth
#> <fct> <list> <dbl> <dbl>
#> 1 setosa <tibble [50 x 4]> 5.01 3.43
#> 2 versicolor <tibble [50 x 4]> 5.94 2.77
#> 3 virginica <tibble [50 x 4]> 6.59 2.97
Создано в 2018-12-26 с помощью пакета представить (v0.2.1)