在r中选择长格式的个人

问题描述 投票:-3回答:2

我有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。

r
2个回答
0
投票

您可以通过多种方式执行此操作,例如使用filter中的dplyr函数。假设如果RRT不等于0且天等于1,则需要所有ID:

library(dplyr)

df %>% 
filter(day == 1 & RRT != 0)

id day RRT
2   1   1

0
投票

使用data.table的另一个解决方案: -

library(data.table)
setDT(df)
df <- df[day == 1 & RRT != 0, ]

   id day RRT
1:  2   1   1
© www.soinside.com 2019 - 2024. All rights reserved.