首页 > 解决方案 > ifelse() 在某些情况下缺少值,但不是全部 /R

问题描述

我有两个事件t$recurrencet$dead每个事件都有相应的事件时间,分别称为t$rfs和。t$os

我想为竞争风险分析准备数据集。因此,我创建了t$event.time.

但是,我有667 cases in t$recurrence相应667 event times in t$rfs的 . 对于同样的 667 个案例,我有t$dead==0 or 1517 个案例(等于 150 个缺失t$dead==0 or 1)。同样,我有 517 次生存时间t$os

考虑到这一点,我需要定义t$event.time为:

如果

t$dead==0 & t$recurrence==1然后t$event.time==t$rfs

t$dead==1 & t$recurrence==1然后t$event.time==t$rfs

别的

t$dead==0 & t$recurrence==0然后t$event.time==t$os

t$dead==1 & t$recurrence==0然后t$event.time==t$os

但是也

t$dead is NA然后t$event.time==t$rfs

我使用 ifelse() 参数尝试了不同的尝试,但这并没有解决问题

标签: r

解决方案


根据您在逻辑表中显示的内容,以下内容应该有效:

ifelse(is.na(t$dead) | t$recurrence == 1, t$rfs, t$os)

推荐阅读