根据R中的另一个变量过滤集群中的id

时间:2017-12-26 10:22:16

标签: r project

我有100名患者的数据,每位患者的值为7天(1到7)。如何仅在第1天根据另一个变量选择患者?

df <- data.frame(id = c(1, 1, 1, 2, 2, 2),
         day = c(1, 2, 3, 1, 2, 3),
         RRT = c(0, 1, 0, 1, 0, 0))

我希望仅选择RRT=0 day = 1 {id}}的ID。

2 个答案:

答案 0 :(得分:0)

使用dplyr时:

library(dplyr)
df %>% 
  group_by(id) %>% 
  filter(day == 1 & RRT == 0) %>% 
  select(id)

或基础R:

df[df$day == 1 & df$RRT ==0,"id"]

答案 1 :(得分:0)

您可以使用基础R中的子集函数:

subset(df,RRT==0&day==1)

如果您只需要id列,则可以选择

with(df,id[RRT==0&day==1])