我有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))
id day RRT
1 1 0
1 2 1
1 3 0
2 1 1
2 2 0
2 3 0
我想只选择在天= 0时有RRT的id。
您可以通过多种方式执行此操作,例如使用filter
中的dplyr
函数。假设如果RRT不等于0且天等于1,则需要所有ID:
library(dplyr)
df %>%
filter(day == 1 & RRT != 0)
id day RRT
2 1 1
使用data.table
的另一个解决方案: -
library(data.table)
setDT(df)
df <- df[day == 1 & RRT != 0, ]
id day RRT
1: 2 1 1