【发布时间】:2021-02-24 22:26:32
【问题描述】:
我花了很多时间研究这个主题,但找不到太多。我想要一个名为“Max Region”的新数据列,它给出了每行中出现最大值的列的名称。
df <- data.frame(Head=c(9, 6, 2, NA), Thorax=c(9, 2, NA, NA), Abdomen=c(NA, NA, 5, 5), Neck=c(4, 3, 5, 2))
# Head Thorax Abdomen Neck
# 9 9 NA 4
# 6 2 NA 3
# 2 NA 5 5
# NA NA 5 2
到目前为止,我已经使用过:
df$MaxRegion <- names(df)[apply(df, 1, which.max)]
但是,在平局的情况下,我真的希望两列都产生结果(即 HeadThorax 或 AbdomenNeck),或者只产生“NA”。 which.max 可以做到这一点吗?我也研究了 max.col,但它似乎也没有这个功能。非常感谢!
【问题讨论】: