簇中的过滤ID根据R中的另一个变量



i有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))

我只想选择在day = 1处有RRT=0的ID。

使用dplyr

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

或基本R:

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

您可以在基本R中使用子集功能:

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

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

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

相关内容

  • 没有找到相关文章

最新更新