gpt4 book ai didi

R:当我用测试数据预测时作为新水平的因素

转载 作者:行者123 更新时间:2023-12-02 15:04:31 25 4
gpt4 key购买 nike

我从我的数据集中收到一个错误,其逻辑与我在下面发布的代码类似。我试过增加训练数据的数量但没有解决。我已经排除了所有 NA 值。

Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) : factor y has new levels L, X

set.seed(234)
d <- data.frame(w=abs(rnorm(50)*1000),
x=rnorm(50),
y=sample(LETTERS[1:26], 50, replace=TRUE))



train_idx <- sample(1:nrow(d), floor(0.8*nrow(d)))
train <- d[train_idx,]
test <- d[-train_idx,]



fit <- lm(w ~x + y, data=train)
predict(fit, test)

最佳答案

由于@jdobres 已经解释了为什么会弹出这个错误的原因,我将直接跳到解决方法:

让我们在 predict 语句之前尝试下面的代码行

#add all levels of 'y' in 'test' dataset to fit$xlevels[["y"]] in the fit object
fit$xlevels[["y"]] <- union(fit$xlevels[["y"]], levels(test[["y"]]))

希望这能解决您的问题!

关于R:当我用测试数据预测时作为新水平的因素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47625487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com