使用 "pec" R 包根据 "coxph" 函数对肺数据集进行预测
Using "pec" R package for prediction from "coxph" function on lung dataset
我想使用 Cox 比例风险模型的 coxph R 函数从 penalized 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,])
我从上面得到以下错误
Error in UseMethod("predictEventProb", object) : no applicable method
for 'predictEventProb' applied to an object of class "coxph"
谁能解决这个问题?
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)
我想使用 Cox 比例风险模型的 coxph R 函数从 penalized 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,])
我从上面得到以下错误
Error in UseMethod("predictEventProb", object) : no applicable method for 'predictEventProb' applied to an object of class "coxph"
谁能解决这个问题?
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)