【发布时间】:2020-10-20 01:06:53
【问题描述】:
iris %>% mutate(subgroup=rep(c('A','B'),75)) %>% group_by(Species) %>% summarise(SLmin=min(Sepal.Length))
Species SLmin
<fct> <dbl>
1 setosa 4.3
2 versicolor 4.9
3 virginica 4.9
我想保留原来的子组名称。 但是
iris %>% mutate(subgroup=rep(c('A','B'),75)) %>% group_by(Species,subgroup) %>% summarise(SLmin=min(Sepal.Length))
Species subgroup SLmin
<fct> <chr> <dbl>
1 setosa A 4.4
2 setosa B 4.3
3 versicolor A 5
4 versicolor B 4.9
5 virginica A 4.9
6 virginica B 5.6
此代码不能在每个物种中获得最小值。
你知道吗?
PS:
这很难解释,所以我会解决它。
我需要子组。
总结结果后。
setosa B 4.3
versicolor B 4.9
virginica A 4.9
【问题讨论】:
-
每个
Species有多个subgroups,哪个是原始子组? -
您使用的是哪个版本的 dplyr?例如,在 dplyr 1.0.2 中,在
summarise()函数中,您应该使用参数.groups。但是,要将变量subgroup保留为分组变量,您可以将分组级别重新组织为group_by(subgroup, Species) %>% summarise(..., .groups = "drop_last")。 -
dplyr 是‘1.0.2’