这篇文章介绍一个R包,名为{modelr},其中的一些函数非常的实用,可以让建模过程变得简单!install.packages("modelr")
library(modelr)
将会使用R自带的数据集iris作为示范数据,查看概况:
b <- resample_bootstrap(iris)
as.data.frame(b)
有时候需要将数据集分割成训练数据集和验证数据集(比如1:1),那可以这么做: data <- resample_partition(iris, c(test = 0.5, train = 0.5))
lapply(data, dim)
从上述结果可知,data中包含了两个数据集,train和test,分别指代训练数据集和验证数据集。下一步,使用三种不同的方法对iris进行重采样,代码如下: boot <- bootstrap(iris, 500)
cv_10 <- crossv_kfold(iris, k = 10)
cv_mc <- crossv_mc(iris, 100)
可以使用下方代码分别查看上述新建对象中所包含的数据集情况(以dataframe的格式保存): dim(boot$strap[[1]])
dim(cv_10$train[[1]])
dim(cv_10$test[[1]])
dim(cv_mc$train[[1]])
dim(cv_mc$test[[1]])
这个R包还包含了几个可以查看模型表现的函数,先建立一个回归模型备用:
mymodel <- lm(Sepal.Length ~ Sepal.Width, data = iris)
summary(mymodel)
可以使用下方代码查看模型的相关参数(RMSE, R2, MAE和QAE),代码如下: rmse(mymodel, data = iris)
rsquare(mymodel, data = iris)
mae(mymodel, data = iris)
qae(mymodel, data = iris)
最后介绍两个函数,可以分别计算模型的预测值以及残差,并且将结果直接作为一个新的变量拼接到数据集中,以用于后续的分析,非常实用!
mydata <- iris |> add_predictions(mymodel)
head(mydata)
mydata1 <- iris |> add_residuals(mymodel)
head(mydata1)
好啦,今天的内容就到这里。如果有帮助,记得分享给需要的人!https://modelr.tidyverse.org/index.html
公众号核心成员担任SCI杂志Associate Editor!▌课程相关咨询可添加R师妹微信: kefu_rstats