如何制作Heaviside功能?

时间:2016-10-17 11:56:23

标签: r survival-analysis

我正在处理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函数。

1 个答案:

答案 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))