我试图用R建立我的生存分析数据,我有四个变量T1,T2,T3,T4,每个变量都代表了评估参与者的时间点。代码1和2表示它们没有通过测试;代码0表示它们通过了测试。我试图将这些信息转换成两个新变量: time (他们通过测试所需的间隔数)和事件(他们是否通过了测试)。我真的是新的R,并将感谢任何关于如何设置我的数据的见解!谢谢!
发布于 2022-02-15 09:52:37
假设您的数据框架名为df。
当代码0被观察到时,
time被定义为第一个实例。如果代码0从未被观察到,则time小于4,则表示Pass.time为4,T4为0,它意味着Pass.time为4,T4不是0,这意味着Fail.。
library(dplyr) # For mutate() and case_when() functions
library(magrittr) # For %<>% pipe, instead of doing df <- df %>% ...
df %<>% mutate(time = case_when(T1 == 0 ~ 1,
T2 == 0 ~ 2,
T3 == 0 ~ 3,
T4 == 0 ~ 4,
TRUE ~ 4),
event = case_when(time < 4 ~ "Pass",
time == 4 & T4 == 0 ~ "Pass",
TRUE ~ "Fail"))https://stackoverflow.com/questions/70958002
复制相似问题