R:如何根据其他列中的组合条件在一列中查找元素

时间:2016-04-22 18:16:42

标签: r

如果列GROUP等于2且最大值出现在OBS列中,我试图根据组合条件在列ID中找到相应的元素。

如何在R中执行此任务?

这是我的数据集:

ID <- as.factor(c("A","B","C","D","E","F"))
OBS <- c(1,3,2,8,3,10)
GROUP <- as.factor(c(1,1,1,2,2,2))     
df <- data.frame(ID,OBS,GROUP)

非常感谢。

1 个答案:

答案 0 :(得分:2)

假设您希望首先按GROUP应该等于2的条件对数据帧进行子集,然后确定OBS的值最高的ID,应该做的伎俩:

df2 <- df[df$GROUP==2,]
df2$ID[df2$OBS==max(df2$OBS)]