model.frame.default中出错:变量长度不同,R预测函数
这不是一个新问题,我在其他地方看到过一些提议的解决方案,并尝试过它们,但没有一个有效,所以我问 如何修复此错误?我正在使用model.frame.default中出错:变量长度不同,R预测函数,r,predict,R,Predict,这不是一个新问题,我在其他地方看到过一些提议的解决方案,并尝试过它们,但没有一个有效,所以我问 如何修复此错误?我正在使用R版本3.5.3(2019-03-11) 以下是一个可复制的示例: library(survival) library(survminer) library(dplyr) # Create fake development dataset ov_dev <- ovarian[1:13,] # Create fake validation dataset ov_val
R版本3.5.3(2019-03-11)
以下是一个可复制的示例:
library(survival)
library(survminer)
library(dplyr)
# Create fake development dataset
ov_dev <- ovarian[1:13,]
# Create fake validation dataset
ov_val <- ovarian[13:26,]
# Run cox model
fit.coxph <- coxph(Surv(time = ov_dev$futime, event = ov_dev$fustat) ~ rx + resid.ds + age + ecog.ps, data = ov_dev)
summary(fit.coxph)
# Where error occurs
p <- log(predict(fit.coxph, newdata = ov_val, type = "expected"))
库(生存)
图书馆(survminer)
图书馆(dplyr)
#创建假开发数据集
ov_dev我认为这是因为您在模型规范中使用了ov_dev$futime
和ov_dev$fustat
,而不仅仅是使用futime
和fustat
。这意味着,当你来预测时,模型使用的是因变量的ov_dev
数据,而自变量的ov_val
长度不同(13对14)。只需删除数据帧前缀并信任data
参数:
库(生存)
图书馆(survminer)
图书馆(dplyr)
#创建假开发数据集
ov_dev我认为这是因为您在模型规范中使用了ov_dev$futime
和ov_dev$fustat
,而不仅仅是使用futime
和fustat
。这意味着,当你来预测时,模型使用的是因变量的ov_dev
数据,而自变量的ov_val
长度不同(13对14)。只需删除数据帧前缀并信任data
参数:
库(生存)
图书馆(survminer)
图书馆(dplyr)
#创建假开发数据集
奥夫·德夫
library(survival)
library(survminer)
library(dplyr)
# Create fake development dataset
ov_dev <- ovarian[1:13,]
# Create fake validation dataset
ov_val <- ovarian[13:26,]
# Run cox model
fit.coxph <- coxph(Surv(time = ov_dev$futime, event = ov_dev$fustat) ~ rx + resid.ds + age + ecog.ps, data = ov_dev)
summary(fit.coxph)
# Where error occurs
p <- log(predict(fit.coxph, newdata = ov_val, type = "expected"))