Ошибка в именах факторов номограммы, отсутствующих в проекте: model.type x time event x.df lambda pred.at - PullRequest
2 голосов
/ 19 июня 2020

Я использую «умный» набор данных из пакета «hdnom». Ниже приведен мой код. Я получаю следующую ошибку. Пожалуйста, дайте мне знать, где я ошибаюсь. Я не могу понять ошибку.

Ошибка в номограмме (fit, model.type = "a enet", x, time, event, x.df, lambda = lambda,: factor имя (имена) не в дизайне: модель.тип x время событие x.df лямбда пред.ат

data("smart")
summary(smart)
dim(smart)
x = as.matrix(smart[,-c(1,2)])
str(x)
time = smart$TEVENT
#time <- as.numeric(time)
event = smart$EVENT
library(survival)
y = Surv(time, event)
suppressMessages(library(doParallel))
registerDoParallel(detectCores())
aenetfit = fit_aenet(x, y, nfolds = 10, rule = "lambda.1se",
                       seed = c(5, 7), parallel = TRUE)
names(aenetfit)
fit = aenetfit$model_init
alpha = aenetfit$alpha_init
lambda = aenetfit$lambda_init
adapen = aenetfit$pen_factor
suppressMessages(library("rms"))
x.df = as.data.frame(x)
dd = datadist(x.df)
options(datadist = "dd")
nom = nomogram(fit, model.type = "aenet", x, time, event, x.df,lambda = lambda, pred.at = 365 * 2,funlabel = "2-Year Overall Survival Probability")

1 Ответ

2 голосов
/ 19 июня 2020

В версиях 4.0 и 5.0 из hdnom функция hdnom.nomogram была доступна, как описано здесь и здесь . Синтаксис был:

nom <- hdnom.nomogram(fit, model.type = "aenet", x, time, event, x.df, 
       lambda = lambda, pred.at = 365 * 2,
       funlabel = "2-Year Overall Survival Probability")

В версии 6.0 эта функция была заменена на hdnom::as_nomogram:

nom <- as_nomogram(aenetfit, x, time, event, pred.at = 365 * 2,
                   funlabel = "2-Year Overall Survival Probability")
plot(nom)

С помощью rms::nomogram: эта функция принимает в качестве входных данных ( аргумент fit) только регрессионные модели, созданные с помощью rms; кроме того, model.type и lambda не являются допустимыми аргументами этой функции.

enter image description here

...