使用 survSplit 函数时出错

Error using survSplit function

我是 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(也在下面),但我收到另一个错误("Error in Surv(time, status) : Time variable is not numeric." 这些错误似乎是相关的。发生了什么事? 为什么示例代码会出现错误?

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")

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