如何根据 MuMIn model.avg() 摘要进行绘图

2024-04-28

有没有一种方法可以直接绘制 MuMIn model.avg() 对于具有置信带的不同变量的模型平均摘要输出。以前我一直使用 ggplot 和 ggpredict 来绘制实际模型中的项,但我一直无法找到一种方法来绘制平均模型的结果。

显然,我可以手动绘制斜率和截距,但是获得准确的置信带并从 confint() 进行绘制并不理想,而且我还没有从看起来正确的间隔中获得置信带。

library(MuMIn)
#Dummy Data
a <- seq(1:5)
set.seed(1)
b <- sample(1:100,5)
c <- sample(1:100,5)
d <-sample(1:100,5)
df <- data.frame(a,b,c,d)

Dredged <- dredge(lm(a ~ b + c + d, data=df), rank=AIC)
ModelAvg <- model.avg(Dredged, subset=delta<=2)


CI <- confint(ModelAvg, full=T) # get confidence intervals
summary(ModelAvg)


#I want to be able to create a graph for each term from the averaged output with its estimate, SE, and Confidence bands


#Output - I've only left the relevant part of the output, my actual data ends up with 5 component models
#Call:
#model.avg(object = Dredged, subset = delta <= 2)
#Component models: 
#    df logLik   AIC delta weight
#12   4  -1.32 10.63  0.00   0.69
#123  5  -1.10 12.21  1.58   0.31

#Model-averaged coefficients:  
#(full average) 
#             Estimate Std. Error Adjusted SE z value Pr(>|z|)
#(Intercept)  4.933497   1.308953    7.725454   0.639    0.523
#b            0.021946   0.010320    0.048539   0.452    0.651
#c           -0.044848   0.012076    0.067954   0.660    0.509
#d           -0.002275   0.014081    0.088694   0.026    0.980



我不太确定我理解您为什么质疑“confint()”输出,并且其输出的有效性实际上是与绘图问题不同的问题。

要绘制系数 +/- SE,可调整。 SE 和 95% CI,请尝试以下操作。这使用完整模型平均值,因为您使用了full=TCI 中的争论。

该图表不是最漂亮的,但它可以完成工作 - 如果您想要一个更好的图表,请告诉我。我没有绘制截距图,因为在这种情况下,估计值远大于系数,但所有数据都采用易于绘制的格式。

library(MuMIn)
#Dummy Data
a <- seq(1:5)
set.seed(1)
b <- sample(1:100,5)
c <- sample(1:100,5)
d <-sample(1:100,5)
df <- data.frame(a,b,c,d)

options(na.action = "na.fail") # needed for dredge to work
Dredged <- dredge(lm(a ~ b + c + d, data=df), rank=AIC)
ModelAvg <- model.avg(Dredged)
mA<-summary(ModelAvg) #pulling out model averages
df1<-as.data.frame(mA$coefmat.full) #selecting full model coefficient averages

CI <- as.data.frame(confint(ModelAvg, full=T)) # get confidence intervals for full model
df1$CI.min <-CI$`2.5 %` #pulling out CIs and putting into same df as coefficient estimates
df1$CI.max <-CI$`97.5 %`# order of coeffients same in both, so no mixups; but should check anyway
setDT(df1, keep.rownames = "coefficient") #put rownames into column
names(df1) <- gsub(" ", "", names(df1)) # remove spaces from column headers

包含所有三个误差线的图(SE、adj. SE、95% CI)

ggplot(data=df1[2:4,], aes(x=coefficient, y=Estimate))+ #excluding intercept because estimates so much larger
  geom_point(size=10)+ #points for coefficient estimates
  theme_classic(base_size = 20)+ #clean graph
  geom_errorbar(aes(ymin=Estimate-Std.Error, ymax=Estimate+Std.Error), colour ="red", # SE
             width=.2, lwd=3) +
  geom_errorbar(aes(ymin=Estimate-AdjustedSE, ymax=Estimate+AdjustedSE), colour="blue", #adj SE
              width=.2, lwd=2) +
  geom_errorbar(aes(ymin=CI.min, ymax=CI.max), colour="pink", # CIs
                width=.2,lwd=1) 

Which produces the following graph. The red is SE, blue is adj. SE and pink is 95% CIs. enter image description here

用更好的图表编辑:

ggplot(data=df1[2:4,], aes(x=coefficient, y=Estimate))+ #again, excluding intercept because estimates so much larger
      geom_hline(yintercept=0, color = "red",linetype="dashed", lwd=1.5)+ #add dashed line at zero
      geom_errorbar(aes(ymin=Estimate-AdjustedSE, ymax=Estimate+AdjustedSE), colour="blue", #adj SE
                  width=0, lwd=1.5) +
      coord_flip()+ # flipping x and y axes
      geom_point(size=8)+theme_classic(base_size = 20)+ ylab("Coefficient")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据 MuMIn model.avg() 摘要进行绘图 的相关文章

  • 如何在 R 中解析堆叠多个 JSON 的文件?

    我在 R 中有以下 堆叠 JSON 对象 example1 json ID 12345 Timestamp 20140101 Usefulness Yes Code event1 A result 1 ID 1A35B Timestamp
  • R:中断 for 循环

    你能确认下一个break是否取消了内部for循环吗 for out in 1 n old id velho lt old table df id out for in in 1 n id novo lt new table df ID in
  • 无效的命令名称“tk_chooseDirectory”错误

    我使用 bioconductor 进行 WES 管道 并使用 tk choose dir 选择用户存储输入文件的目录 并将其存储以供进一步使用 这里是命令行 library tcltk dataDir lt dirname tk choos
  • 如何上下移动字符串并从中删除相似的字符串?

    我问了一个可能不太清楚的问题 所以我尝试用一 种可以理解的方式来解释它 这是我的数据 我的数据看起来像这样 看起来像这样 V1 V2 V3 1 Q9UNZ5 Q9Y2W1 2 Q9ULV4 Q6QEF8 3 Q9UNZ5 4 Q9H6F5
  • 距数据帧中最近的非 NA 值的距离

    我有以下数据帧 df 我想添加一列 其中包含与每行最接近的非 NA 值的距离 df lt data frame x 1 20 df c 1 3 4 5 11 14 15 16 x lt NA 换句话说 我正在寻找以下值 df distanc
  • 如何更改 r 中的树状图标签

    我在 R 中有一个树形图 它基于使用 hclust 的分层聚类 我正在对不同颜色的标签进行着色 但是当我尝试使用以下命令更改树图的标签 集群所基于的数据帧的行 时dendrogram dendrogram gt set labels dat
  • 在 R 中安全地计算算术表达式?

    Edit 好吧 由于似乎有很多混乱 我将稍微简化一下问题 您可以尝试回答下面的原始问题 或者您可以解决此版本并忽略该行下面的所有内容 我的目标是采用任意表达式并在极其受限的环境中对其进行评估 该环境将仅包含具有以下类型值的变量 数值向量 接
  • 从受密码保护的站点读取信息

    我一直在 R 教程中使用 readLines 从网站上抓取信息 我现在希望从我自己的网站提取数据 特别是 awstats 数据 但是该域受密码保护 有没有一种方法可以通过用户名和密码传递我需要的特定 awstats 数据的 url url
  • 行方向变异的有效方法

    我有两个数据框 dfUsers and purchases使用以下代码生成 set seed 1 library data table dfUsers lt data table user letters 1 5 startDate sam
  • XLConnect 无法确定 JAVA_HOME 错误

    感谢您的帮助 我正在尝试运行 XLconnect 但收到此错误消息 gt library XLConnect lib loc C Users 1144143929 Documents R win library 2 15 Error onL
  • R正则表达式获取第二个下划线之前的所有文本

    s lt 1 343 43Hello 2 323 14 fdh 99H 在 R 中 我想使用正则表达式来获取第二个下划线之前的子字符串 如何使用一个正则表达式来完成此操作 另一种方法是用 分割 然后粘贴前两个 一些东西 paste sapp
  • R,igraph,是否可以用图案填充顶点

    使用 R 和 igraph 绘制图形 我使用颜色来标记顶点类型 请参阅下面的代码 是否可以用图案而不是颜色填充顶点 以便在以彩色和黑白查看时可以区分节点类型 我需要 4 种独特的颜色 图案 colorbrewer 中唯一适合的调色板是这个
  • 在ggplot2中,箱线图线的末尾代表什么?

    我找不到箱线图线条端点代表什么的描述 For example here are point values above and below where the lines end 我意识到盒子的顶部和底部是第 25 个和第 75 个百分位数
  • 使用 R 下载压缩数据文件、提取并导入 .csv

    我正在尝试使用以下方法从网页下载并提取 csv 文件R 这个问题是重复的使用 R 下载压缩数据文件 提取和导入数据 https stackoverflow com questions 3053833 using r to download
  • 如何在R中创建for循环? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在 R 编程中启动 for 循环 https stackoverflow com questions 4162363 how to start a for loop in r programmin
  • 使用 R 将日期格式的字符串列表/向量转换为 posix 日期类

    我有一个日期格式的字符串列表 我想将其转换为可以使用 R 操作的 posix 日期列表 我该怎么做 这就是我所拥有的 但我最终得到了一个列表 a lt c 2009 01 01 00 00 00 2009 01 01 00 00 00 z
  • R ggplot2 分面保持比率但覆盖/定义输出图大小

    我目前正在使用 ggplot2 来比较不同组的统计数据 每个组属于不同的区域 这是通过运行 R 脚本的 Web 应用程序 tikiwiki CMS 插件 R 完成的 每个区域我可以有 2 到 30 个或更多组 相同的 R 脚本针对唯一网页中
  • 在列标题和配对变量中嵌入数据的数据透视表

    假设我有这样的数据 不幸的是 变量值嵌入在列名称中 library tidyr library dplyr dat lt tribble group var1 var meta1 var2 var meta2 group1 5 2 cat
  • 按名称包含在单个对象中的多个列对 data.frame 进行排序?

    我想排序一个data frame由多列组成 理想情况下使用基础 R 无需任何外部包 尽管如果有必要 就这样吧 读过如何按列对数据框进行排序 https stackoverflow com questions 1296646 how to s
  • 解压 R 数据框中的列表

    我有一个dataframe其中一个字段包含不同长度的列表 我想将该字段中列表的每个元素提取到其自己的字段中 以便我可以将结果收集到一个很长的字段中dataframe每个列表元素都有一个 id 这是一个例子dataframe dat lt s

随机推荐

  • GitHub 操作 - 如何参数化容器映像主机名

    我有一个 GitHub 操作 其工作流程使用容器来运行它 并使用私有 docker 注册表 myhostname com 见下文 jobs myjob name My Job runs on some tag on runners cont
  • 格式化时间戳

    如何将 Rails 时间戳格式化为更易于理解的格式 如果我只是打印出来created at or updated at在我看来是这样的 然后我会得到 2009 03 27 23 53 38 世界标准时间 The strftime http
  • 如何在 MVC 3 Razor View Engine 中使用 C# 显示和隐藏 Div?

    我必须编写 C 代码来在 MVC3 中显示和隐藏 div 以用于基于 C 中的 switch case 的各种控件 如何在不使用 JQuery Show 或 hide 的情况下完成它 但在完全服务器端 将 switch 语句直接添加到 cs
  • Google Apps onEdit 事件 - event.source 未定义

    Google 文档允许编写脚本 当单元格内容与特定单词匹配时 我试图更改单元格的颜色 我的问题是 onEdit 函数没有按照此处指定的方式工作 https developers google com apps script guide ev
  • 未找到神奇函数“bash”

    我有一堆模拟想要在高性能集群上运行 我应该在这些集群上进行预留以获得计算时间 由于预订是有时间限制的 我正在开发一个自动化脚本 我可以scp进入集群并运行 然后 该脚本将下载相关的模拟文件 运行它们 并上传结果 该自动化脚本的一部分位于ba
  • 转义 C++ 字符串

    将 C std string 转换为另一个 std string 的最简单方法是什么 它转义了所有不可打印的字符 例如 对于两个字符的字符串 0x61 0x01 结果字符串可能是 a x01 或 a 01 看看Boost的字符串算法库 ht
  • 在 getElementsByClassName 的数组上使用 forEach 会导致“TypeError: undefined is not a function”

    In 我的 JSFiddle http jsfiddle net jer2 zcrh9 3 我只是想迭代一个元素数组 正如日志语句所证明的那样 该数组非空 然而 呼叫forEach给了我 不太有帮助 未捕获TypeError undefin
  • Emacs lisp:将字符翻译为标准 ASCII 转录

    我正在尝试编写一个函数 将包含 unicode 字符的字符串转换为某种默认的 ASCII 转录 理想情况下 我想要例如 ngstr m成为Angstroem或者 如果不可能的话 Angstrom 同样地 应该成为a x c 或类似的 Ema
  • 如何使用我自己的声明文件解决“无法找到模块的声明文件”错误?

    我有一个测试项目 正在其中测试类型定义文件 该项目有一个文件名为index ts看起来像这样 import i18nFu require gettext js The 获取文本 js包是使用 Node js 安装的 如下所示 npm ins
  • iOS 7 中的后台任务间隔时间

    我在 appdidEnterBackground 中有以下代码 我看到在 IOS 6 中我看到后台时间段约为 10 分钟 而 IOS 7 中的相同代码打印 2 分钟 这是代码 void applicationDidEnterBackgrou
  • 当有太多需要滚动的项目时,Windows 窗体列表框会溢出

    我正在构建一个基于后缀树的索引器应用程序 它使我能够非常快地索引整个文档并搜索字符串 子字符串等 我正在做的是在文本框中输入一个字符串 按下按钮 然后运行一个函数来查询后缀树并将所有出现的字符串的位置添加到列表框中 所以列表框里面有很多整数
  • 用于从 PHP 更新实时
  • 的 jQuery 插件
  • 有没有任何 jQuery 插件可以创建类似实时 feed 的东西推特主页 http www twitter com 使用 PHP 它从 MySQL 数据库获取数据 PHP 文件必须如何 Thanks 您确实不需要为此使用插件 您可以使用 j
  • MS Access 2007 中 NVL 功能的替代方法是什么

    我在 MS Access 中编写了一个 SQL 查询 select NVL count re rule status 0 from validation result re validation rules ru where re cycl
  • 实体框架 LINQ To Entities 生成奇怪的慢速 SQLWhere 子句

    我需要理解这一点 EF5 0 和 EF6 在 TSQL 代码生成方面存在很大差异 在我的代码中 这是我的 LINQ 语句 var qry2 context viw overview 1 Where i gt i article EAN17
  • 设置div内的div滚动,而父级不滚动

    我有一个容器 div 其中包含许多子 div 我的容器中的 div 之一包含评论 我不想将整个 div 设置为滚动 而是希望所有内容都保持在原位 只留下评论 div 滚动 我尝试将父级溢出设置为隐藏 将注释 div 设置为滚动 滚动条实际上
  • 为什么旋转图像时会出现黑色边框? PHP GD

    此代码使用 GD 生成两张图像并旋转其中一张 当我旋转图像时 黑色边框开始出现 有人知道如何解决这个问题吗
  • 如何更改传单弹出窗口的背景颜色?

    我正在使用 Leafletjs 创建地图 我想将弹出窗口 当前显示图像和链接 的背景颜色从白色更改为其他颜色 看起来基本的背景颜色 CSS 语法并不能解决这个问题 有什么建议吗 谢谢 斯科特 调用 leaflet css 后 您可以包含
  • std::array<> 的初始化

    考虑以下代码 include
  • ssh:无法确定主机“主机名”的真实性

    当我 ssh 到一台机器时 有时我会收到此错误警告 并提示说 是 或 否 当从自动 ssh 到其他机器的脚本运行时 这会导致一些问题 警告信息 The authenticity of host
  • 如何根据 MuMIn model.avg() 摘要进行绘图

    有没有一种方法可以直接绘制 MuMIn model avg 对于具有置信带的不同变量的模型平均摘要输出 以前我一直使用 ggplot 和 ggpredict 来绘制实际模型中的项 但我一直无法找到一种方法来绘制平均模型的结果 显然 我可以手