【问题标题】:R: Applying Regression on Dataset with FactorsR:对具有因子的数据集应用回归
【发布时间】:2020-10-30 23:28:45
【问题描述】:

我有以下数据集:

我正在尝试将多线性回归相应地应用于训练和测试数据集,如下所示:

library(caTools)

set.seed(123)
split = sample.split(data$G3, SplitRatio = 0.8)
train_set = subset(data, split == TRUE)
test_set = subset(data, split == FALSE)

write.csv(train_set, "student_train.csv", row.names = FALSE)
write.csv(test_set, "student_test.csv", row.names = FALSE)

#Multilinear regression
multi = lm(formula = G3 ~ ., data = train_set)

#Predicting the test values
y_pred_m = predict(multi, newdata = test_set)

library(Metrics)

mae_m = mae(test_set[[10]], y_pred_m)
rmse_m = rmse(test_set[[10]], y_pred_m)

但是,我的 mae 和 rmse 值都在控制台中返回为 NA,在“环境”选项卡中返回为 NA_real_。我的 data$G3 值不是一个因素,所以我不确定为什么会收到以下错误消息:In Ops.factor(actual, predicted) : ‘-’ not meaningful for factors. 我是使用 R 进行回归的新手,所以请帮忙。

【问题讨论】:

  • 与其包含数据的屏幕截图,不如将输出dput(data) 粘贴到问题的文本中会很有帮助。这将允许其他人在本地复制数据集。

标签: r regression linear-regression


【解决方案1】:

第十列是因子internet。所以应该是

mae_m = mae(test_set$G3, y_pred_m)
rmse_m = rmse(test_set$G3, y_pred_m)

【讨论】:

    猜你喜欢
    • 2016-10-09
    • 2012-08-24
    • 2015-08-17
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 2015-07-21
    • 2014-08-11
    相关资源
    最近更新 更多