【发布时间】:2017-01-07 16:02:03
【问题描述】:
我已将我的数据集拆分为测试和训练数据集。我试图在训练集上拟合回归,然后在测试集上使用预测。当我这样做时,我收到一条错误消息,上面写着:“model.frame 因子 x 中的错误具有新级别”。我知道这是因为我的测试数据中有一些级别在我的训练数据中看不到。
我想要做的只是消除或忽略两个数据集中都不存在的级别。我试过这样做,但它没有为NA 设置任何级别,id 对象显示“整数(空)”:
id <- which(!(test$x %in% levels (train$x))
train$x[id] <- NA
fit <- lm(y ~ x, data=train)
P <- predict(fit,test)
【问题讨论】:
-
但即使在需要添加 droplevels 命令之前,第一部分也无法正常工作。看来我要么得到一个空整数,要么得到一个错误,说替换有 190708 行,数据有 189590。
标签: r regression linear-regression predict levels