如何在因子变量的多个子集上循环线性回归

2024-01-13

我正在尝试编写一个 for 循环,该循环在因子变量的 4 个不同级别上分别运行相同的回归(相同的因变量和自变量)4 次。然后我想保存每个线性回归的输出每个级别都有大约 500 行数据。

我最初的想法是做这样的事情,但我对 R 和不同的迭代方法很陌生。

Regressionresults <- list()

for (i in levels(mydata$factorvariable)) {
  Regressionresults[[i]] <- lm(dependent ~ ., data = mydata)
}

我怀疑这很容易做到,但我不知道如何做。

如果您还可以引导我访问任何帮助文档或其他资源,让我可以学习如何编写这些类型的循环,这样我就不必再次提出类似的问题,我将不胜感激。

提前谢谢了!


问题中的代码存在的问题是:

  1. 在 R 中,通常最好一开始就不要使用循环
  2. 通常 i 用于顺序索引,所以它不是一个好的 选择用于级别的名称
  3. 循环体不执行任何子集设置,因此它将在每次迭代中分配相同的结果
  4. 发布到 SO 的帖子应该具有可重复的数据,而问题不包括这一点,而是引用了对象而不定义其内容。请阅读顶部的说明r /questions/tagged/r标签页。下面我们使用内置的虹膜数据集来实现可重复性。

以下是一些使用内置虹膜数据框来实现可重复性的方法。每个结果都会产生一个命名列表,其中名称是物种的级别。

1) lm 子集参数 Map给出一个列表的级别:

sublm <- function(x) lm(Petal.Width ~ Sepal.Width, iris, subset = Species == x)
levs <- levels(iris$Species)
Map(sublm, levs)

2) loop sublm and levs来自(1)。

L <- list()
for(s in levs) L[[s]] <- sublm(s)

3) nlme或使用 nlme 中的 lmList

library(nlme)
L3 <- lmList(Petal.Width ~ Sepal.Width | Species, iris)
coef(L3)
summary(L3)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在因子变量的多个子集上循环线性回归 的相关文章

  • Shiny:从DT数据表中选定的行获取信息

    我们正在尝试重新创建示例 https demo shinyapps io 029 row selection https demo shinyapps io 029 row selection 使用DT包来渲染数据帧而不是shiny包 DT
  • 将模式的所有元素与向量以相同的顺序匹配

    我创建了一个函数yes seq需要两个参数 一个模式pat和数据dat 该函数以相同的顺序查找数据中是否存在模式 例如 dat lt letters 1 10 dat 1 a b c d e f g h i j pat lt c a c g
  • R 中具有 p 值的相关矩阵

    假设我想要传导相关矩阵 library dplyr data iris iris gt select if is numeric gt cor y iris Petal Width method spearman gt round 2 现在
  • 使用“for”循环迭代 C++ Vector

    我是 C 语言的新手 我已经开始使用向量 并且注意到在我看到的所有代码中通过索引迭代向量 for循环总是基于向量的 在 Java 中 我可能会用 ArrayList 做这样的事情 for int i 0 i lt vector size i
  • For 循环内的 For 循环 Javascript

    由于某种原因 该语句跳过了一些数据 我是否缺少一个 continue 语句某处或某事 这是代码 for var i 0 len data ORDER STATUS 0 ORDERS length i lt len i if data ORD
  • 使用 R Markdown 文档作为函数源

    我正在研究 R Markdown 来记录我经常使用的功能 我会将它们放入 R Markdown 文件中以记录它们 然后如果我几个月后回来查看它 就能够阅读我在函数背后的想法 我的问题是 如果我开始一个新的 R 项目 是否可以获取 r mar
  • 如何不显示 ggplot 轴上的所有标签?

    I m trying to using ggplot2 to plot this But as you can see on the x axis you can t read anything 那么如何在 x 轴上显示每 10 年的值呢
  • 连接树状图和热图

    我有一个heatmap 一组样本的基因表达 set seed 10 mat lt matrix rnorm 24 10 mean 1 sd 2 nrow 24 ncol 10 dimnames list paste g 1 24 sep p
  • 使用 R 将日期格式的字符串列表/向量转换为 posix 日期类

    我有一个日期格式的字符串列表 我想将其转换为可以使用 R 操作的 posix 日期列表 我该怎么做 这就是我所拥有的 但我最终得到了一个列表 a lt c 2009 01 01 00 00 00 2009 01 01 00 00 00 z
  • 如何将 Shiny 中生成的反应图传递到 Rmarkdown 以生成动态报告

    简而言之 我希望能够通过单击按钮从我的闪亮应用程序生成动态 Rmarkdown 报告文件 pdf 或 html 为此 我想我将使用 Shiny 的参数化报告 但不知何故 我无法将单个谜题转移到所需的目标 使用此代码 我们可以在 R Shin
  • Java:如何读取一个 int 的多个扫描仪值

    我一直在试图弄清楚如何根据从获得的输入来计算面积和体积Scanner班级 该练习包括一次接收多对半径和高度 我已经编写了这些方法并对其进行了测试 所以这些方法应该有效 我遇到的问题是当我想使用 扫描仪 的输入并使用它们进行计算时 这是我的代
  • data.table 查找值并翻译

    像许多人一样 我是 R 新手 我有一个大数据集 500M 行 我已将其读取到 data table 中logStats其中有如下数据 head logStats 15 time pid mean 1 2014 03 10 00 00 00
  • dplyr::group_by_ 带有多个变量名的字符串输入

    我正在编写一个函数 要求用户在函数调用中定义一个或多个分组变量 然后使用 dplyr 对数据进行分组 如果只有一个分组变量 它会按预期工作 但我还没有弄清楚如何使用多个分组变量来做到这一点 Example x lt c cyl y lt c
  • R xts 对象中从每日时间序列到每周时间序列

    我正在使用 Zoo 和 xts 包来分析财务数据 ts 包不太合适 因为金融系列有周末 没有可用数据 我读到了 xts 包中可用的 apply 函数 apply daily x FUN apply weekly x FUN apply mo
  • 为特定 ID 重新编码列中的观察结果

    我有一个数据集 称为 调查 其中有行是个人 ID 列中有许多问题 我需要将 1 列中的值重新编码为 NA 并将观察结果移至另一列 例如 ID Fruit Vegetable aaa NA grape bbb NA tomato ccc ap
  • Rcpp 包不包含 Rcpp_precious_remove

    我一直在尝试创建数据库并安装 DBI 包 但仍然遇到此错误 我重新安装了 DBI 和 RSQLite 软件包 但它们似乎不起作用 library DBI con lt dbConnect RSQLite SQLite dbname memo
  • k折交叉验证 - 如何自动获得预测?

    这可能是一个愚蠢的问题 但我只是找不到一个包来做到这一点 我知道我可以编写一些代码来获得我想要的东西 但如果有一个函数可以自动完成它那就太好了 所以基本上我想对 glm 模型进行 k 倍交叉验证 我想自动获取每个验证集的预测和实际值 因此
  • 从 SpatialPolygons 和其他 sp 类中提取要素坐标

    Package sp为不同的空间概念 点 线 多边形 提供了许多类 对于某些类 访问要素坐标很简单 例如SpatialLines 所有示例均取自相应课程的帮助页面 l1 cbind c 1 2 3 c 3 2 2 l1a cbind l1
  • 将此 MATLAB 代码转换为 Python 时我做错了什么?

    我正在努力将生成波形的 MATLAB 代码转换为 Python 就上下文而言 这是原子力显微镜带激发响应的模拟 与代码错误无关 在 MATLAB 中从 r vec 生成的图形与我在 Python 中生成的图形不同 我是否正确地将 MATLA
  • 在并行包中的 R 的 par*apply 函数内部使用 Rcpp 函数

    我试图了解背后发生的事情Rcpp sourceCpp 调用并行环境 最近 问题中部分解决了这个问题 在 Windows 上使用 parLapply 中的 Rcpp 函数 https stackoverflow com questions 2

随机推荐

  • SQL Server 如果存在

    我必须将数据插入表中 但前提是它尚不存在 我使用以下方法检查现有行 IF EXISTS SELECT X FROM Table1 where id id 会使用 X 提高性能而不是使用列名 不 您可以使用 列名 NULL甚至1 0 根据 A
  • 如何将在执行同一数据流管道期间计算的架构写入 BigQuery?

    我的场景是此处讨论的场景的一种变体 如何使用数据流执行期间计算的架构写入 BigQuery https stackoverflow com questions 29440279 how do i write to bigquery usin
  • 通过宏从过滤范围中删除行

    我遇到以下代码问题 该代码试图过滤一组数据 然后删除可见行 目前 我收到 运行时 1004 错误 删除方法或范围类失败 该错误出现在代码的最后一行 我在网站上发现了一个类似的问题 答案似乎正是我在最后一行代码中得到的答案 Dim LastR
  • 如何在 GhostScript 中将 svg 转换为 eps

    你能帮我用 Ghostscript 将 svg 文件转换为 eps 的命令吗 我尝试在 Gimp 中打开 svg 文件 但它非常大 因此看起来 gimp 无法打开它或需要太长时间 我有两个要转换的文件 注意 我已经完成了从 png 到 sv
  • 如何重复 try- except 块

    我在 Python 3 3 中有一个 try except 块 我希望它无限期地运行 try imp int input Importance n t1 High n t2 Normal n t3 Low except ValueError
  • Celery/Redis 同一任务并行执行多次

    我有 2 个自定义任务 TaskA and TaskB 两者都继承自celery Task 调度程序启动TaskA时不时地 并且TaskA发射N times TaskB每次都有不同的论据 但由于某种原因 有时是相同的TaskB使用相同的参数
  • Javascript 的“for-in”函数是否只返回一个索引?

    这是我尝试运行的方法 function SayHello cars new Array cars 0 Toyota cars 1 Mitsubishi cars 2 Honda for car in cars alert car 这返回了
  • 实例化视图寻呼机android中的所有项目

    我有一个带有视图寻呼机和要显示三个页面的活动 当活动加载时 仅实例化前两个页面 即仅针对位置 0 和 1 调用 pageradapter 类中的 instantiateitem 有没有办法实例化所有三个页面 Try 设置屏幕外页面限制 2
  • osx-lion 上的 Apache 和 php 的两个版本

    我必须在我的 lion osx 上安装 PHP 版本 opt local bin php 5 3 12 usr bin php 5 3 10 当我尝试使用安装 php 模块时port 它指的是 opt local bin php 5 3 1
  • 您可以手动触发 ACTION_BATTERY_LOW 吗?

    我对 android 编程比较陌生 但我被告知大多数应用程序都有一个接收器 当 android 触发 ACTION BATTERY LOW 时 它会减少电池昂贵的活动 Android开发页面说 公共静态最终字符串ACTION BATTERY
  • Java字符串可以有多少个字符?

    我想下一个回文 http www spoj com problems PALIN 来自 Sphere Online Judge SPOJ 的问题 我需要找到最多一百万位的整数的回文 我考虑过使用 Java 的函数来反转字符串 但是它们允许字
  • 为什么我的 XPath 查询(抓取 HTML 表)只能在 Firebug 中运行,而不能在我正在开发的应用程序中运行?

    这样做的目的是为每周出现一两次的所有类似问题 但过于具体的问题而无法成为目标候选人 提供规范的问答 我正在开发一个应用程序 需要解析其中包含表格的网站 由于派生用于抓取网页的 XPath 表达式是一项无聊且容易出错的工作 因此我想使用Fir
  • C++ SSE SIMD框架[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有谁知道开源 C x86 SIMD 内在函数库 英特尔在其集成性能基元库中提供了我所需要的东西 但由于版权问题 我无法使用它 EDIT 我
  • 如何可视化或格式化差异/补丁文件? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个补丁文件 统一差异 就像输出svn diff git diff or diff u 我想查看它
  • 为什么我不能对具有相同内容的两个结构体进行互换分配?

    我正在尝试学习 C 但遇到了一些奇怪的事情 struct int i double j x y struct int i double j z 在这里 你可以看到我创建了两个struct其元素相同 为什么当我尝试分配时x z它将产生编译错误
  • 在Java中动态生成2个列表的非重复排列对

    我一直在查看很多关于 Java 排列的不同帖子 但没有一个符合我的要求 所以我决定发布 所以我有 2List
  • bash中用户输入日期格式验证

    所以我试图在 bash 中编写一个简单的脚本 要求用户输入日期 以下格式 YYYY dd mm 不幸的是 我陷入了第一步 即验证输入的格式是否正确 我尝试使用 日期 但没有成功 因为它返回实际的当前日期 我正在努力让这件事尽可能简单 感谢您
  • 如何禁用 SpreadsheetApp.addMenu 项

    The SpreadsheetApp AddMenu name array of entries 在电子表格的顶部栏中生成一个新菜单 或者 有getUI createMenu这会产生一系列项目 两者都工作得很好 不知道哪个更好 是否可以根据
  • 从 github 克隆的项目。赫罗库不起作用

    我将一个项目从 github 克隆到我的桌面上 我曾经在我的笔记本电脑上处理过它 然而 在笔记本电脑上 heroku 似乎不适用于这个应用程序 尽管我已经安装了它 第一个问题 heroku open gt No app specified
  • 如何在因子变量的多个子集上循环线性回归

    我正在尝试编写一个 for 循环 该循环在因子变量的 4 个不同级别上分别运行相同的回归 相同的因变量和自变量 4 次 然后我想保存每个线性回归的输出每个级别都有大约 500 行数据 我最初的想法是做这样的事情 但我对 R 和不同的迭代方法