r - Predict() 函数的问题(可能很容易解决)

标签 r regression linear-regression predict

全部。

这是我在这个论坛上提出的第一个问题。我是一个初学者,你们很快就会知道。

我正在执行一项小任务,其中我必须将训练模型与测试模型进行比较。关键是训练模型的行数比测试模型的行数多得多。

通过线性回归模型,我希望比较这两个模型,但是当我使用 Predict() 函数时,出现以下错误:

“newdata”有 3456 行,但发现变量最喜欢 7689 行。

这就是我所做的:

regression = lm(train$students~train$subjects, train)

(train是训练数据库)

prediction = predict(regression, test) 

(test为测试数据库)

我不知道我是否正确使用了predict()函数。有人可以告诉我我做错了什么吗?

预先非常感谢您的帮助和善意!

最佳答案

不要在公式中将变量引用为 data$var。绝不。曾经。

发生的情况是,您使用名为 train$studentstrain$subjects 的变量拟合了模型。为了根据模型进行预测,R 将在测试集 test 中查找名为 train$subjects 的变量。显然 tests 中不存在这样的变量;谁会创建具有如此愚蠢名称的变量!?无需在公式中使用 data$var 格式,因为 data 参数的全部意义在于指示 R 应在何处查找公式中提到的变量名称。公式。

要开始解决此问题,请将您的模型调整为:

regression <- lm(students ~ subjects, data = train)

然后使用预测

predict(regression, test)

其中test需要有一列包含subjects

错误消息是因为 newdata 有 3456 个,但当它搜索变量 train$subjects 时,它发现了 7689 行,大概这是 中完整观察的数量>火车...?

关于r - Predict() 函数的问题(可能很容易解决),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42706119/

相关文章:

r - 在 R 中安装 H2o-3

machine-learning - 用于练习线性或逻辑回归的工具或框架

python - 任何 Python 库都会生成发布风格回归表

r - 如何在 R 中对 'user-defined' 公式进行线性回归?

r - 使用一个数据框中的引用来修复另一个数据框中的文本进行拼写校正 (r)

javascript - Shiny 中的单独列搜索(选择输入) renderDatatable()

java - Java中的字符识别

r - 线性回归预测中的个别项

Python - 绘图和线性回归 - x 和 y 的大小必须相同

r - 如何更简洁地从 "start - end"字符串计算持续时间