Ошибка в coxModelFrame.coxph (объект): неверный объект установлен x = TRUE при вызове coxph - PullRequest
0 голосов
/ 11 марта 2019

Следующий пример предназначен для тех, кто строит модели пропорциональных рисков Кокса и пытается создать кривые ошибок предсказания, но получает сообщение об ошибке:

Ошибка в coxModelFrame.coxph (объект): недопустимый объект установите x = TRUE в вызове coxph.

Вот код для воспроизведения ошибки:

БИБЛИОТЕКА

library(survival)
library(survminer)
library(pec)
library(Hmisc)
library(rms)
library(riskRegression)
#install.packages("doMC", repos="http://R-Forge.R-project.org")
library(doMC)

Данные

#Load and store the data
lcOrig <- read.csv("cancer.csv")

#Replace all the 1's with 0's (censored)
lcOrig$status <- gsub(pattern = "1", replacement = "0", x = lcOrig$status, fixed = TRUE)

#Replace all the 2's with 1's (death)
lcOrig$status <- gsub (pattern = "2", replacement = "1", x = lcOrig$status, fixed = TRUE)

#Do the same thing for sex (0 = Males, 1 = Females)
lcOrig$sex <- gsub(pattern = "1", replacement = "0", x = lcOrig$sex, fixed = TRUE)

lcOrig$sex <- gsub(pattern = "2", replacement = "1", x = lcOrig$sex, fixed = TRUE)

#Change the class of these variables to integer.
lcOrig$status <- as.integer(lcOrig$status)
lcOrig$sex <- as.integer(lcOrig$sex)
lcOrig$ph.ecog <- as.integer(lcOrig$ph.ecog)

#Remove missing values and column with over 20% missing data.
apply(lcOrig, 2, function(x) sum(is.na(x))/length(x))
lcOrig <- lcOrig[, c(1:9, 11)]
lc <- lcOrig[complete.cases(lcOrig), ]

Пропорциональные опасности Кокса

fitform1 <- Surv(time, status) ~ inst + age + sex + ph.ecog + ph.karno + pat.karno + wt.loss

cox1 <- coxph(fitform1, data = lc)

ИЗОБРАЖЕНИЯ ОШИБКИ ИЗОБРАЖЕНИЯ

extends <- function(...) TRUE
library("doMC")
registerDoMC()

set.seed(0692)
fitpec1 <- pec(list("CPH" = cox1), data = lc, formula = fitform1, splitMethod = "cv10", B = 5, keep.index = TRUE, keep.matrix = TRUE)

Последняя строка кода приводит к следующей ошибке: Ошибка в coxModelFrame.coxph (объект): недопустимый объект установить x = TRUE в вызове coxph

1 Ответ

1 голос
/ 11 марта 2019

РЕШЕНИЕ

Изменение:

cox1 <- coxph(fitform1, data = lc)

Кому:

cox1 <- coxph(fitform1, data = lc, x = TRUE)

Это не было обязательным требованием 2 года назад, но сейчас. Надеюсь, это поможет вам сэкономить время!

...