gpt4 book ai didi

r - R 中的 predict 和 glm.predict 错误

转载 作者:行者123 更新时间:2023-12-04 04:35:36 28 4
gpt4 key购买 nike

问题

我在 R 中训练了一个线性回归来预测 this.target来自 city , 数据框中的变量 data .这个训练是在数据的一个子集上完成的,它由 train.index 指定。 .

model = glm('data[, this.target] ~ data$city', data = data, subset = train.index)

我正在尝试在保留数据上测试此模型,该数据由 test.index 指定。 .
predictions = predict(model, data[test.index, ])

无论出于何种原因,这第二步都会产生错误和警告。
Error in model.frame.default(Terms, newdata, na.action = na.action, xlev =
object$xlevels) : invalid type (NULL) for variable 'data$city' In addition:
Warning message: 'newdata' had 22313 rows but variables found have 0 rows

我的分析
data$city是 4 个级别的因子,但似乎 R 将其读取为“无效类型(NULL)”,即使此变量中的所有观察结果都不是 NULL。

此外,R 似乎正确读取了行而不是训练集的列。 dim(data[test.index, ])产生一个带有 22313 和 12 的向量。

最佳答案

感谢 joran 的评论,我能够找到解决我的问题的方法。 joran 指出公式不应包括子集操作。

事实证明,这个子集允许模型拟合正常进行,但它导致模型预测因上述错误和警告而犹豫不决。通过从我的公式定义中删除子集,模型拟合和预测都没有问题。

关于r - R 中的 predict 和 glm.predict 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19795644/

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