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