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])