假设我在R中有以下df:
| 色谱柱_A|色谱柱B|色谱柱_C|
| --------------|--------------|--------------|
| 一个|一百|蓝色|
| 一个|三百五十|红色|
| B|五百|绿色|
| B|一百五十|黄色|
与dplyr我想分组df voor Column_A,采取的最大值的Column_B和相应的值的Column_C(所以Column_C的值,其中B =最大).我现在有以下代码:
df_new <- df %>% dplyr::group_by(Column_A) %>%
dplyr::summarise(
Max_B = max(Column_B),
Corresponding_C = which.max(Column_B))
然而,这给了Column_C错误的值,因为它说,which.max(Column_B)= 1的所有值。我如何才能改变这个代码,我得到正确的值Column_C?
非常感谢提前!
3条答案
按热度按时间x4shl7ld1#
你能做到
编辑:更好的是,dplyr现在有了slice_max函数
yks3o0rb2#
您可以
group_by
和summarise
max
值和颜色对应的最大值使用which.max
像这样:创建于2023-04-21使用reprex v2.0.2
ojsjcaue3#
试试这个: