如何在 R 中使用 purrr::map()

How to use the purrr::map() in R

最近了解到purrr包中的map函数真的很强大,并试图找出在以下情况下如何使用它:

使用 iris 数据集并使用 purrr::map 函数,为所有变量 Sepal.LengthSepal.Width 计算 maxmeanminPetal.LengthPetal.Width,分别为每个 Species(setosa、versicolor、virginica)。然后将结果放入具有

的列表中

有什么建议吗?我使用的是 dplyr::mutate,但结果格式不是我想要的。

iris %>%
  group_by(Species) %>%
  summarise(MinSL=min(Sepal.Length),
            MaxSL=max(Sepal.Length),
            MeanSL=mean(Sepal.Length),
            MinPL=min(Petal.Length),
            MaxPL=max(Petal.Length),
            MeanPL=mean(Petal.Length))

看看是否有使用 dpylr 来完成任务的解决方案也很好。谢谢!

你不需要呼噜声。尝试:

iris %>%
  group_by(Species) %>%
  summarise_at(vars(Sepal.Length, Sepal.Width, Petal.Length, Petal.Width),
               c("min", "max", "mean"))

输出

# A tibble: 3 x 13
  Species    Sepal.Length_min Sepal.Width_min Petal.Length_min Petal.Width_min
  <fct>                 <dbl>           <dbl>            <dbl>           <dbl>
1 setosa                 4.30            2.30             1.00           0.100
2 versicolor             4.90            2.00             3.00           1.00 
3 virginica              4.90            2.20             4.50           1.40 
# ... with 8 more variables: Sepal.Length_max <dbl>, Sepal.Width_max <dbl>,
#   Petal.Length_max <dbl>, Petal.Width_max <dbl>, Sepal.Length_mean <dbl>,
#   Sepal.Width_mean <dbl>, Petal.Length_mean <dbl>, Petal.Width_mean <dbl>