【发布时间】:2022-01-06 12:39:29
【问题描述】:
这是我的最小数据集:
df=structure(list(ID = c(3942504L, 3199413L, 1864266L, 4037617L,
2030477L, 1342330L, 5434070L, 3200378L, 4810153L, 4886225L),
MI_TIME = c(1101L, 396L, 1140L, 417L, 642L, 1226L, 1189L,
484L, 766L, 527L), MI_Status = c(0L, 0L, 1L, 0L, 0L, 0L,
0L, 0L, 1L, 0L), Stroke_status = c(1L, 0L, 1L, 0L, 0L, 0L,
0L, 1L, 1L, 0L), Stroke_time = c(1101L, 396L, 1140L, 417L,
642L, 1226L, 1189L, 484L, 766L, 527L), Arrhythmia_status = c(NA,
NA, TRUE, NA, NA, TRUE, NA, NA, TRUE, NA), Arrythmia_time = c(1101L,
356L, 1122L, 7L, 644L, 126L, 118L, 84L, 76L, 5237L)), row.names = c(NA,
10L), class = "data.frame")
如你所见,我主要有两种类型的变量“_status”和“_time”。
我正在为生存分析准备我的数据集,“时间”是以天为单位的时间。
但是当我尝试创建一个名为“任何心血管结果”(df$CV) 的变量时,问题就出现了,我将其定义如下:
df$CV = NA
df$CV <- with(df, ifelse(MI_Status=='1' | Stroke_status=='1' | Arrhythmia_status== 'TRUE' ,'1', '0'))
df$CV = as.factor(df$CV)
我遇到的问题是选择最佳的活动时间。现在我有一个名为df$CV 的新变量,但有3 个不同的“_time”变量。
所以我想创建一个名为df$CV_time 的新列,其中时间是最先发生的事件的时间。
不过这个问题有一点难度,我举个例子:
如果我们有 MI_status==1、Arrythmia_status==NA、stroke_status==1 和 MI_time==200、Arrythmia_time==100、stroke_time==220 的主题 --> df$CV 的正确时间是 200,因为它是最早事件的时间。
但是,在MI_status==0、Arrythmia_status==NA、stroke_status==0 和MI_time==200、Arrythmia_time==100、stroke_time==220 的情况下,df$CV 的正确时间将是 220,因为最近的跟进时间是220天。
如何根据这些条件为 df$CV 选择最佳数量?
【问题讨论】:
标签: r if-statement conditional-statements multiple-columns