r - 如何在 R 中创建一个遍历整个数据帧的简单线性回归函数?
问题描述
我正在通过 ISLR 工作并被困在一个问题上。基本上,我正在尝试创建一个遍历整个数据框的函数。这是问题 3.7、15a。
对于每个预测变量,拟合一个简单的线性回归模型来预测响应。描述你的结果。在哪些模型中,预测变量和响应之间存在统计上显着的关联?创建一些图表来支持您的断言。
所以我的想法是这样的:
y = Boston$crim
x = Boston[, -crim]
TestF1 = lm(y ~ x)
summary(TestF1)
但这远不是正确的答案。我希望通过以下方式分解它:
- 以crim 作为我的响应和其他作为预测器来迭代整个数据框
- 提取统计显着的 p 值(或提取不显着的值)
- 继续下一个问题(这要容易得多)
但我被困住了。我用谷歌搜索但找不到任何东西。我尝试了这个 combn(Boston) 的东西,但也没有用。请帮忙,谢谢。
解决方案
如果您的问题是迭代数据框,这里有一个示例mtrcars
(mpg
是目标变量,其余是预测变量,假设模型具有单个预测变量)。这个想法是生成字符串并将它们转换为公式:
lms <- vector(mode = "list", length = ncol(mtcars)-1)
for (i in seq_along(lms)){
lms[[i]] <- lm(as.formula(paste0("mpg~",names(mtcars)[-1][i])), data = mtcars)
}
如果您想查看每个变量组合,请从包含所有变量的模型开始,然后消除不显着的预测变量以找到最佳模型。
推荐阅读
- excel - 在我的计算机中定位文件时,我的单元格的值不会上升
- c# - 有什么方法可以从 SQLDatabase C# 检索一年中任何一个月的所有记录
- python - 我什么时候应该在模型中创建方法
- html - 我是否需要为图片元素中的每个源重复类属性?(HTML5)
- docker - 有没有办法重置 Docker 从端口范围分配的端口?
- python - 在 Python Selenium 中选择具有不同 ID 的多个下拉菜单
- php - Symfony Twig 中的 HTML 实体
- typescript - 无法解析模块“module://graphql/language/parser.js”
- azure-aks - 如何将 Azure Spring Cloud 与 Angular 前端集成
- activemq-artemis - 无法在 Artemis 中关闭审核日志记录