【发布时间】:2018-03-04 07:02:36
【问题描述】:
由于某种原因,我找不到使用 summarise_all 函数解决以下问题的方法:
df <- data.frame(A = c(1,2,2,3,3,3,4,4), B = 1:8, C = 8:1, D = c(1,2,3,1,2,5,10,9))
想要的结果:
df %>%
group_by(A) %>%
summarise(B = B[which.min(D)],
C = C[which.min(D)],
D = D[which.min(D)])
# A tibble: 4 x 4
A B C D
<dbl> <int> <int> <dbl>
1 1 1 8 1
2 2 2 7 2
3 3 4 5 1
4 4 8 1 9
我尝试了什么:
df %>%
group_by(A) %>%
summarise_all(.[which.min(D)])
换句话说,我想按一个变量分组,并为每一列找到属于另一列最小值的值。我找不到使用 summarise_all 的解决方案。我正在寻找一种 dplyr 方法。
【问题讨论】: