ifelse(),在某些情况下缺少值,但不是全部/ R

时间:2019-07-12 19:49:46

标签: r

我有两个事件t$recurrencet$dead,它们分别具有相应的事件时间,分别称为t$rfst$os

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

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

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

IF

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

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

ELSE

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()参数尝试了不同的尝试,但这并不能解决问题

1 个答案:

答案 0 :(得分:2)

根据您在逻辑表中显示的内容,以下方法应该起作用:

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