使用“pec”R包来预测肺数据集上的“coxph”函数

时间:2017-09-11 10:00:38

标签: r survival-analysis cox-regression

我希望使用Cox比例风险模型的coxph R函数来判断惩罚R包中的肺数据集。

我有以下示例代码。

library(survival) 

library(pec)

library(penalized)

data("lung")

data <- lung

trainind <- sample(1:n,n*0.7)

testind <- (1:n)[-trainind]

frm <- as.formula(paste("Surv(time, status)~",paste(names(data[,-c(2,3)]), collapse="+")))

cox <- coxph(frm,data=data[trainind,])

PredError <- pec(list(Cox=cox),Hist(time,status)~1,data=data[testind,])

我从上面的

中得到以下错误
  

UseMethod(“predictEventProb”,object)中的错误:没有适用的方法   'predictEventProb'应用于类“coxph”的对象

有人可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

data数据集中必须解决两个问题:
- 删除(或估算)缺失值
- 将status变量重新编码为0和1

library(survival) 
library(pec)
library(penalized)
set.seed(123)
data("lung")

# Delete rows with missing values
data <- na.omit(lung)
# Recode status as 0 and 1
table(data$status)
#  1   2 
# 47 120
data$status <- data$status-1

n <- nrow(data)
trainind <- sample(1:n,n*0.7)
trainset <- data[trainind,]
testset <- data[-trainind,]
frm <- as.formula(paste("Surv(time, status)~",paste(names(data[,-c(2,3)]), collapse="+")))
cox <- coxph(frm, data=trainset, y=TRUE)
PredError <- pec(list("Cox"=cox), Hist(time,status)~1, data=testset)
plot(PredError)

enter image description here