R:对具有因子的数据集应用回归

问题描述

我有以下数据集:

enter image description here

我正尝试将Multilinear Regression应用于训练和测试数据集,如下所示:

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回归的新手,请帮忙。

解决方法

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

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