{modelr}: 让建模变得简单!

学术   2024-06-07 12:51   浙江  
这篇文章介绍一个R包,名为{modelr},其中的一些函数非常的实用,可以让建模过程变得简单!

首先安装和载入R包: 

install.packages("modelr")
library(modelr)
R包get!

将会使用R自带的数据集iris作为示范数据,查看概况: 

summary(iris)

下面介绍这个R包中比较实用的函数。

如果想对数据进行一次重采样,可以这么做: 

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)

最后一个变量pred即为预测值。

最后,添加残差,代码如下: 

mydata1 <- iris |> add_residuals(mymodel)
head(mydata1)

最后一个变量resid即为残差。

好啦,今天的内容就到这里。如果有帮助,记得分享给需要的人


参考文献

https://modelr.tidyverse.org/index.html


公众号的线上课程
1. 《R语言和统计新手课程》
2. 《回归:从入门到进阶》
3. 《线性混合模型和纵向数据分析》
【通过公众号菜单栏--线上课程】

统计咨询
《服务介绍和经典合作案例》

公众号核心成员的成果发表
《SCI医学1区影响因子9分论文》

公众号核心成员担任SCI杂志Associate Editor!
《JAD杂志Associate editor》
《Frontiers in Neuroscience, Frontiers in Neurology and Frontiers in Psychiatry杂志的神经退行性病变板块》

加入我们
成为我们的课程推广大使,赢取高额回报!
【通过公众号菜单栏--联系我们--招推广员】

▌本文由R语言和统计首发
▌课程相关咨询可添加R师妹微信: kefu_rstats
▌编辑:June
▌邮箱:contact@rstats.cn
▌网站:www.rstats.cn
我们致力于让R语言和统计变得简单!



R语言和统计
我们定期更新与R有关的内容,比如R编程基础,作图,实用R包的解读,统计学基础知识,前沿的统计方法,机器学习等等。
 最新文章