我想基于组合条件在列ID中找到对应元素,如果列GROUP等于2并且最大值发生在列OBS。R:如何根据其他列中的组合条件找到一列中的元素
如何在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)
非常感谢。
我想基于组合条件在列ID中找到对应元素,如果列GROUP等于2并且最大值发生在列OBS。R:如何根据其他列中的组合条件找到一列中的元素
如何在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)
非常感谢。
假设你意味着要第一子集由所述条件GROUP
应等于2,然后识别ID为其中OBS
值是最高的数据帧,这应该做的伎俩:
df2 <- df[df$GROUP==2,]
df2$ID[df2$OBS==max(df2$OBS)]
你试过了什么?要清楚,您希望最大的OBS超出整个数据集,或只需要GROUP == 2的最大值? – rawr
对于后者......'(df,df $ GROUP,function(x)x [which.max(x $ OBS),])$''2''但不这样做。 – Frank
从这个例子中,OBS中的最大值是GROUP 2的10。并且ID中的相应元素是F.我想根据GROUP和最大OBS找到相应的元素。 –