将回归结果输出到 R 中的数据帧中

2023-12-29

我想知道是否有任何命令可以将 lm 模型的结果输出到 R 中的数据帧中,就像 SAS 中的 outest 一样。 有任何想法吗?我正在运行多个模型,我希望结果如下所示 -

Model  |  alpha   | Beta | Rsquared | F |  df |
model0 |  8.4     | ...  | ....     | ..|  .. |
model1 |  ...     | ...  | ....     | ..|  .. |
model2 |  ...     | ...  | ....     | ..|  .. |

我拥有的数据是“ds”,即 -

X1 | X2 | Y1 |
.. | .. | .. |
.. | .. | .. |
.. | .. | .. |
.. | .. | .. |

我的代码是一个简单的 lm 代码 -

model0 <- lm(Y1 ~ X1, ds)
model1 <- lm(Y1 ~ 1, ds)
model2 <- lm(Y1 ~ X1 + X2, ds)

我也做同样的事情。当然,这里的困难在于,如果模型具有不同数量的系数,那么您将拥有不同数量的列,这在 data.frame 中是不可能的。每个模型需要具有相同数量的列。

我通常用它来glm(这些代码片段已被注释掉)但我将其修改为lm为你:

models <- c()

for (i in 1:10) {

    y <- rnorm(100) # generate some example data for lm
    x <- rnorm(100)
    m <- lm(y ~ x)

    # in case of glm:
    #m <- glm(y ~ x, data = data, family = "quasipoisson")
    #overdispersion <- 1/m$df.residual*sum((data$count-fitted(m))^2/fitted(m))

    coef <- summary(m)$coef
    v.coef <- c(t(coef))
    names(v.coef) <- paste(rep(rownames(coef), each = 4), c("coef", "stderr", "t", "p-value"))
    v.model_info <- c(r.squared = summary(m)$r.squared, F = summary(m)$fstatistic[1], df.res = summary(m)$df[2])

    # in case of glm:
    #v.model_info <- c(overdisp = summary(m)$dispersion, res.deviance = m$deviance, df.res = m$df.residual, null.deviance = m$null.deviance, df.null = m$df.null)

    v.all <- c(v.coef, v.model_info)    
    models <- rbind(models, cbind(data.frame(model = paste("model", i, sep = "")), t(v.all)))

}

我更喜欢从中获取数据summary(m)。将数据捆绑到data.frame,你使用cbind(列绑定)和rbind(行绑定)函数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将回归结果输出到 R 中的数据帧中 的相关文章

随机推荐

  • 指令内部模板中的 ng-click 未提供该功能

    ng click不提供警报 单击指令的内部模板时 不会显示警报框 小提琴链接在这里 http jsfiddle net NNDHX http jsfiddle net NNDhX 你的指令有它自己的隔离范围 所以函数 hi 应该在指令的范围
  • 为 Android 流媒体创建视频

    这是我为创建在 Android 上播放的视频所做的搜索的答案 虽然android支持mp4流媒体但并不容易 我根据我的经验推断出的简单步骤是 1 首先使用超级编码器对视频进行编码 参数是 A 顶级参数 a mp4作为容器 b mpeg 4
  • Java正则表达式字符类中的非法转义字符

    我试图确定传递到我的 Expressions 类中的表达式是否有运算符 任何一个 分别用于加 减 乘 除和指数 这段代码有什么问题 private static boolean hasOperator String expression r
  • 为什么编译器资源管理器上的 Visual Studio 忽略异常模型设置?

    当我尝试使用 EHs标记在编译器资源管理器测试用例 https godbolt org z Md2g7J 启用 异常通过extern C 函数 VC 19 22 似乎忽略了它 因为它仍然踢出 C5039 并且实际上没有更改代码 我缺少什么
  • 如何轻松打印ascii-art文本? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个转储大量输出的程序 并且我希望其中一些输出能够真正脱颖而出 一种方法可能是使用 ascii art 渲染重要文本 like 这
  • VS 2017 中缺少 ASP.NET Core 2 模板

    I m using VS 2017 Community Edition I ve installed NET Core 2 SDK from here 当我跑步时dotnet version我收到如下回复 但我看不到ASP NET Core
  • 为什么每次创建新视图模型时不调用视图构造函数?

    我正在将 WPF 与模型 视图 视图模型模式一起使用 我有一个 ResultsView 和 ResultsViewModel 它们的连接方式如下
  • Angular 5:装饰器中不支持函数调用

    我正在从 Angular 应用程序构建 PWA 运行时出现以下错误ng build prod ERROR in app app module ts 108 64 Error during template compile of AppMod
  • 不允许远程表值函数调用

    我怎样才能做到这一点 我正在从远程链接服务器运行表值函数 我尝试在这 4 部分命名中不添加锁定 但仍然遇到相同的错误 我使用 mssql 2008 select from 110 10 10 100 testdbname dbo ufn g
  • 如何将 Micrometer 与 @WebMvcTest 连接起来

    我正在尝试测试 Spring Boot 2 3 Controller通过 Actuator Prometheus 执行指标 WebMvcTest 不幸的是 这在 NPE 中失败了 可能是因为测试中不存在 Micrometer Prometh
  • 如何使用 Visual Studio 2015(企业版)构建 boost 版本 1.58.0

    我喜欢使用 新的 Visual Studio 2015 企业版 构建 boost 1 58 0 过去我是按以下方式进行的 从以下位置下载 boost 1 58 0www boost org http www boost org 提取文件 例
  • HTTPServletRequest.getInputStream() 总是接收空行

    客户端 public List
  • Sproutcore 和 Ember 之间的区别

    在 Ember 从 sproutcore 分叉之前 我就选择了 sproutcore 作为框架 我不确定该走哪条路 而且对碎片化造成的努力明显稀释感到有点沮丧 因为这很少会带来更好的事情 Sproutcore 2 0 现在的 Ember 的
  • NDB:对查询结果进行排序

    在 App Engine NDB 中 我正在查询具有重复属性的实体 我想按表示该属性的数组的长度对结果进行排序 我希望我能做什么 Entity query order len Entity repeatedProp 您需要添加一个ndb I
  • gcloud 命令突然根本不起作用

    All gcloud命令突然给出这个错误 错误 gcloud 加载失败 没有名为 google appengine ext 的模块 这通常表明您的 gcloud 安装或 你的Python解释器有问题 请验证以下是否是有效的 Python 2
  • 如何在 Clojure 中使用 definterface?

    Clojure 1 2 0 似乎有一个definterface形式 显然是为了创建 Java 接口 有些人建议使用它 例如 一个答案这个数字运算问题 https stackoverflow com questions 3124344 clo
  • 当 xsl 本身第一页就足够时避免第二页

    我已经找到了问题的解决方案 要感谢你们所有人 因为如果没有你们及时的解决方案和建议 这是不可能实现和解决的 非常感谢 这个问题的解决方案已经实现 非常感谢 要解决您的问题 请将以下所有内容保留在单个表中并将其添加到表标题中 参考您的 xsl
  • JavaScript 正则表达式捕获小数点的重复部分

    寻找最佳方法来获取具有可能重复的小数部分的任意数字 并发现重复部分 如果存在 最终 我需要用上划线符号 使用 css 文本装饰或 MathML mline 来装饰数字 所以我还需要知道重复开始的索引 所以我需要正则表达式来得到 或者可以在算
  • 无法将有序数据写入 Spark 中的镶木地板

    我正在使用 Apache Spark 生成镶木地板文件 我可以按日期对它们进行分区 没有任何问题 但在内部我似乎无法按正确的顺序排列数据 在处理过程中顺序似乎丢失了 这意味着镶木地板元数据不正确 具体来说 我想确保镶木地板行组反映排序顺序
  • 将回归结果输出到 R 中的数据帧中

    我想知道是否有任何命令可以将 lm 模型的结果输出到 R 中的数据帧中 就像 SAS 中的 outest 一样 有任何想法吗 我正在运行多个模型 我希望结果如下所示 Model alpha Beta Rsquared F df model0