我正在处理R中的斯坦福心脏移植数据。
library(survival)
head(jasa)
我想分析移植患者与非移植患者之间的生存率。但我想使用Heaviside功能。
> transplant(t) : 0 if did not receive transplant by time, t i.e, if t<wait-time
1 if received transplant prior to time, i.e,
if t> wait-time
>
> msscore(t) 0 if t< wait-time
mscore if t>wait-time
> age(t) 0 if t< wait-time
AGE if t>wait time
我想使用这些Heaviside函数来评估生存过程。虽然我搜索了很多文档,但据我所知,没有任何函数可以在R中创建一个Heaviside函数。
答案 0 :(得分:3)
除了ifelse(t>wait-time,1,0)
和fBasics
中的Heaviside功能(可能通过library(sos); findFn("Heaviside")
找到),还有一个更聪明/更有效的解决方案
H <- function(x) as.numeric(x>0)
mscore*H(t-(wait-time))