问题
我在 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 的向量。