使用survSplit功能时出错

时间:2016-08-29 22:48:26

标签: r survival-analysis

我正在重新运行2年前的代码,并且遇到了使用survSplit函数的新错误。该错误表明我的对象无法找到,即使它是我的数据框中已定义的列。

以下是我的数据框示例:

f12 <- data.frame(id = 1:6,
              next.ivl= c(22.348, 1.837, 2.051,1.782,1.692, 1.730),
              event = c(0,1,1,0,1,1),
              enter= rep(0,6),
              end=c(22.348, 1.837,2.051,1.782,1.629,1.730))

我之前的代码如下:

cutpoints.l <- c(10/12, 1.25, 1.75, 2.25, seq(3,11))

f12.split <- survSplit(f12, 
                   cut = cutpoints.l, 
                   event = "event", 
                   start = "enter", 
                   end = "next.ivl", 
                   episode = "ivl")

我继续尝试运行提供here的示例代码(也在下面),并且收到另一个错误(“Surv中的错误(时间,状态):时间变量不是数字。”这些错误似乎发生了什么?为什么我会在示例代码中出错?

library(survival)    
aml3<-survSplit(aml,cut=c(5,10,50),end="time",start="start",
            event="status",episode="i")

仅供参考:目前正在运行R版本3.3.1(2016-06-21)

更新以供将来参考:正确的代码应为

f12.split <- survSplit(Surv(next.ivl,event)~.,f12, 
                 cut = cutpoints.l,
                event = "event",
                start = "enter", 
                 end = "next.ivl",
                 episode = "ivl")

1 个答案:

答案 0 :(得分:2)

第一个参数应该是公式,你给它一个data.frame。我意识到这个参考页面似乎是一个最近(甚至是最前沿)的版本,查看URL,但当前发布的版本的pkg:survival是2.39-5,该页面引用版本2.38-3。 survSplit帮助页面的当前版本确实引用了缺少公式接口的函数的早期版本,并且示例在我的R 3.3.1实例上运行时没有错误。