如何在 R 中使用 purrr::map()
How to use the purrr::map() in R
最近了解到purrr
包中的map
函数真的很强大,并试图找出在以下情况下如何使用它:
使用 iris 数据集并使用 purrr::map
函数,为所有变量 Sepal.Length
、Sepal.Width
计算 max
、mean
、min
, Petal.Length
、Petal.Width
,分别为每个 Species
(setosa、versicolor、virginica)。然后将结果放入具有
的列表中
- 一个字符:物种名称,并且
- 四个向量:
max
、mean
、min
for Sepal.Length
、Sepal.Width
、Petal.Length
、Petal.Width
。
有什么建议吗?我使用的是 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>
最近了解到purrr
包中的map
函数真的很强大,并试图找出在以下情况下如何使用它:
使用 iris 数据集并使用 purrr::map
函数,为所有变量 Sepal.Length
、Sepal.Width
计算 max
、mean
、min
, Petal.Length
、Petal.Width
,分别为每个 Species
(setosa、versicolor、virginica)。然后将结果放入具有
- 一个字符:物种名称,并且
- 四个向量:
max
、mean
、min
forSepal.Length
、Sepal.Width
、Petal.Length
、Petal.Width
。
有什么建议吗?我使用的是 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>