多元回归模型的过滤估计值的点须图

2024-01-06

我正在尝试绘制 4 个不同回归模型的置信区间点须图。

数据可用here https://figshare.com/s/ace5b44bc12394a7c46d.

#first importing data 
Q1<-read.table("~/Q1.txt", header=T)

# Optionally, read in data directly from figshare.
# Q1 <- read.table("https://ndownloader.figshare.com/files/13283882?private_link=ace5b44bc12394a7c46d", header=TRUE)

library(dplyr)

#splitting into female and male
female<-Q1 %>% 
  filter(sex=="F") 
male<-Q1 %>% 
  filter(sex=="M") 

library(lme4)

#Female models
#poisson regression
ab_f_LBS= lmer(LBS ~ ft + grid + (1|byear), data = subset(female))

#negative binomial regression
ab_f_surv= glmer.nb(age ~ ft + grid + (1|byear), data = subset(female), control=glmerControl(tol=1e-6,optimizer="bobyqa",optCtrl=list(maxfun=1e19)))

#Male models
#poisson regression
ab_m_LBS= lmer(LBS ~ ft + grid + (1|byear), data = subset(male))

#negative binomial regression
ab_m_surv= glmer.nb(age ~ ft + grid + (1|byear), data = subset(male), control=glmerControl(tol=1e-6,optimizer="bobyqa",optCtrl=list(maxfun=1e19)))

然后我只想绘制两个变量(ft2 and gridSU)来自每个模型。

ab_f_LBS <- tidy(ab_f_LBS)  %>% filter(!grepl('sd_Observation.Residual', term)) %>% filter(!grepl('byear', group))
ab_m_LBS <- tidy(ab_m_LBS)  %>% filter(!grepl('sd_Observation.Residual', term)) %>% filter(!grepl('byear', group))
ab_f_surv <- tidy(ab_f_surv) %>% filter(!grepl('sd_Observation.Residual', term)) %>% filter(!grepl('byear', group))
ab_m_surv <- tidy(ab_m_surv) %>% filter(!grepl('sd_Observation.Residual', term)) %>% filter(!grepl('byear', group))

然后我准备制作点须图。

#required packages
library(dotwhisker)
library(broom)

dwplot(list(ab_f_LBS, ab_m_LBS, ab_f_surv, ab_m_surv), 
    vline = geom_vline(xintercept = 0, colour = "black", linetype = 2),             
    dodge_size=0.2,
    style="dotwhisker") %>% # plot line at zero _behind_ coefs
relabel_predictors(c(ft2= "Immigrants",                       
                     gridSU = "Grid (SU)")) +
theme_classic() + 
xlab("Coefficient estimate (+/- CI)") + 
ylab("") +
scale_color_manual(values=c("#000000", "#666666", "#999999", "#CCCCCC"), 
labels = c("Female LRS", "Male LRS", "Female survival", "Male survival"), 
name = "First generation models") +
theme(axis.title=element_text(size=10),
    axis.text.x = element_text(size=10),
    axis.text.y = element_text(size=12, angle=90, hjust=.5),
    legend.position = c(0.7, 0.8),
    legend.justification = c(0, 0), 
    legend.title=element_text(size=12),
    legend.text=element_text(size=10),
    legend.key = element_rect(size = 0.1),
    legend.key.size = unit(0.5, "cm"))

我遇到这个问题:

  1. 错误信息:Error in psych::describe(x, ...) : unused arguments (conf.int = TRUE, conf.int = TRUE)。当我尝试仅使用 1 个模型时(即dwplot(ab_f_LBS)它有效,但是一旦我添加另一个模型,我就会收到此错误消息。

如何在同一个点须图上绘制 4 个回归模型?

Update

结果traceback():

> traceback()
14: stop(gettextf("cannot coerce class \"%s\" to a data.frame",     deparse(class(x))), 
        domain = NA)
13: as.data.frame.default(x)
12: as.data.frame(x)
11: tidy.default(x, conf.int = TRUE, ...)
10: broom::tidy(x, conf.int = TRUE, ...)
9: .f(.x[[i]], ...)
8: .Call(map_impl, environment(), ".x", ".f", "list")
7: map(.x, .f, ...)
6: purrr::map_dfr(x, .id = "model", function(x) {
       broom::tidy(x, conf.int = TRUE, ...)
   })
5: eval(lhs, parent, parent)
4: eval(lhs, parent, parent)
3: purrr::map_dfr(x, .id = "model", function(x) {
       broom::tidy(x, conf.int = TRUE, ...)
   }) %>% mutate(model = if_else(!is.na(suppressWarnings(as.numeric(model))), 
       paste("Model", model), model))
2: dw_tidy(x, by_2sd, ...)
1: dwplot(list(ab_f_LBS, ab_m_LBS, ab_f_surv, ab_m_surv), effects = "fixed", 
       by_2sd = FALSE)

这是我的会话信息:

> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: OS X El Capitan 10.11.6

Matrix products: default
BLAS:     /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
LAPACK:     /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib

locale:
[1] en_CA.UTF-8/en_CA.UTF-8/en_CA.UTF-8/C/en_CA.UTF-8/en_CA.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] dotwhisker_0.5.0  broom_0.5.0       broom.mixed_0.2.2
 [4] glmmTMB_0.2.2.0   lme4_1.1-18-1     Matrix_1.2-14    
 [7] bindrcpp_0.2.2    forcats_0.3.0     stringr_1.3.1    
[10] dplyr_0.7.6       purrr_0.2.5       readr_1.1.1      
[13] tidyr_0.8.1       tibble_1.4.2      ggplot2_3.0.0    
[16] tidyverse_1.2.1   lubridate_1.7.4   devtools_1.13.6  

loaded via a namespace (and not attached):
 [1] ggstance_0.3.1   tidyselect_0.2.5 TMB_1.7.14       reshape2_1.4.3  
 [5] splines_3.5.1    haven_1.1.2      lattice_0.20-35  colorspace_1.3-2
 [9] rlang_0.2.2      pillar_1.3.0     nloptr_1.2.1     glue_1.3.0      
[13] withr_2.1.2      modelr_0.1.2     readxl_1.1.0     bindr_0.1.1     
[17] plyr_1.8.4       munsell_0.5.0    gtable_0.2.0     cellranger_1.1.0
[21] rvest_0.3.2      coda_0.19-2      memoise_1.1.0    Rcpp_0.12.19    
[25] scales_1.0.0     backports_1.1.2  jsonlite_1.5     hms_0.4.2       
[29] digest_0.6.18    stringi_1.2.4    grid_3.5.1       cli_1.0.1       
[33] tools_3.5.1      magrittr_1.5     lazyeval_0.2.1   crayon_1.3.4    
[37] pkgconfig_2.0.2  MASS_7.3-50      xml2_1.2.0       assertthat_0.2.0
[41] minqa_1.2.4      httr_1.3.1       rstudioapi_0.8   R6_2.3.0        
[45] nlme_3.1-137     compiler_3.5.1  

我有一些意见/建议。 (tl;dr是你可以大大简化你的建模/图形创建过程......)

Setup:

library(dplyr)
Q1 <- read.table("Q1.txt", header=TRUE)
library(lme4)
library(glmmTMB)  ## use this for NB models
library(broom.mixed)  ## CRAN version should be OK
library(dotwhisker)   ## use devtools::install_github("fsolt/dotwhisker")
  • 您标记为“泊松模型”的模型isn't- 它是linear混合模型,参数与 NB 模型没有特别可比性
  • 我收到了很多警告glmer.nb并改为glmmTMB
#Female models
#poisson regression
ab_f_LBS= glmer(LBS ~ ft + grid + (1|byear),
                family=poisson, data = subset(Q1,sex=="F"))
#negative binomial regression
ab_f_surv = glmmTMB(age ~ ft + grid + (1|byear),
                    data = subset(Q1, sex=="F"),
                    family=nbinom2)

#Male models
#poisson regression
ab_m_LBS= update(ab_f_LBS, data=subset(Q1, sex=="M"))
ab_m_surv= update(ab_f_surv, data=subset(Q1, sex=="M"))

现在情节:

dwplot(list(LBS_M=ab_m_LBS,LBS_F=ab_f_LBS,surv_m=ab_m_surv,surv_f=ab_f_surv),
       effects="fixed",by_2sd=FALSE)+
    geom_vline(xintercept=0,lty=2)
ggsave("dwplot1.png")

> sessionInfo()
R Under development (unstable) (2018-07-26 r75007)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.5 LTS

Matrix products: default
BLAS: /usr/local/lib/R/lib/libRblas.so
LAPACK: /usr/local/lib/R/lib/libRlapack.so

locale:
 [1] LC_CTYPE=en_CA.UTF8       LC_NUMERIC=C             
 [3] LC_TIME=en_CA.UTF8        LC_COLLATE=en_CA.UTF8    
 [5] LC_MONETARY=en_CA.UTF8    LC_MESSAGES=en_CA.UTF8   
 [7] LC_PAPER=en_CA.UTF8       LC_NAME=C                
 [9] LC_ADDRESS=C              LC_TELEPHONE=C           
[11] LC_MEASUREMENT=en_CA.UTF8 LC_IDENTIFICATION=C      

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] bindrcpp_0.2.2        dotwhisker_0.5.0.9000 ggplot2_3.0.0        
[4] broom.mixed_0.2.3     glmmTMB_0.2.2.0       lme4_1.1-18.9000     
[7] Matrix_1.2-14         dplyr_0.7.6          

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.19     pillar_1.3.0     compiler_3.6.0   nloptr_1.2.1    
 [5] plyr_1.8.4       TMB_1.7.14       bindr_0.1.1      tools_3.6.0     
 [9] digest_0.6.18    ggstance_0.3.1   tibble_1.4.2     nlme_3.1-137    
[13] gtable_0.2.0     lattice_0.20-35  pkgconfig_2.0.2  rlang_0.2.2     
[17] coda_0.19-2      withr_2.1.2      stringr_1.3.1    grid_3.6.0      
[21] tidyselect_0.2.5 glue_1.3.0       R6_2.3.0         minqa_1.2.4     
[25] purrr_0.2.5      tidyr_0.8.1      reshape2_1.4.3   magrittr_1.5    
[29] backports_1.1.2  scales_1.0.0     MASS_7.3-50      splines_3.6.0   
[33] assertthat_0.2.0 colorspace_1.3-2 labeling_0.3     stringi_1.2.4   
[37] lazyeval_0.2.1   munsell_0.5.0    broom_0.5.0      crayon_1.3.4  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多元回归模型的过滤估计值的点须图 的相关文章

  • 为什么“str_extract”只捕获其中一些值?

    我有一个表 其中有一个 会员类型 列 其中包括我们多年来使用的无数不同的会员级别 example lt data frame membership c Legacy Payment ID 3564 Payment Record 0 Peri
  • ggarrange:合并多个图

    附图来自以下文章 正在使用 ggarrange 合并这些图 http www sthda com english articles 24 ggpubr publication ready plots 81 ggplot2 easy way
  • R:行数不相等的列绑定

    我有两个数据集 它们每个都有变量 ID Block 和 RT 反应时间 我想合并 列绑定这两个集合 以便我拥有一个包含变量的数据集 ID 块 RT1 RT2 问题是两个集合中的行数不相等 此外 ID 和块号匹配也很重要 缺失值应替换为 NA
  • tidyr:将一列分成可变数量的列

    我的数据框中有一个变量 其中包含回答问卷中不同问题的长度 数据结构如下 data lt data frame variables c q1 2 q2 3 q3 4 q4 10 q5 1 q2 3 q1 2 q3 2 q5 2 q4 9 q1
  • 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
  • ess-rdired:我收到此错误“现在没有 ESS 进程与此缓冲区关联”

    To use ess rdired为了浏览对象 我按照 ESS 手册并将以下内容添加到我的 emacs autoload ess rdired ess rdired View R objects in a dired like buffer
  • 无效的命令名称“tk_chooseDirectory”错误

    我使用 bioconductor 进行 WES 管道 并使用 tk choose dir 选择用户存储输入文件的目录 并将其存储以供进一步使用 这里是命令行 library tcltk dataDir lt dirname tk choos
  • 从受密码保护的站点读取信息

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

    CRAN 提供的 ggsubplot 版本与 R 的最新版本 例如 3 1 1 不兼容 运行 ggsubplot 示例会返回以下错误 Error in layout base data vars drop drop At least one
  • 根据 R 中的字符串模式选择行

    假设我有以下数据 df lt data frame name c TO for Turnover for people HC people Hello world beenie man apple pears TO is number c
  • 如何在R中将英尺转换为厘米?

    我得到了一个高度的字符向量 如下所示 859 5 10 5 8 5 11 6 0 5 10 6 2 5 11 6 2 6 2 5 7 5 9 5 7 6 1 6 0 5 11 6 0 6 5 6 1 6 1 5 10 5 11 5 11 6
  • R - 通过合并和超过 2 个后缀进行减少(或者:如何合并多个数据帧并跟踪列)

    我正在尝试基于 2 列合并 4 个数据帧 但要跟踪列源自哪个数据帧 我在跟踪列时遇到问题 参见 dput dfs 帖子末尾 df example df1 Name Color Freq banana yellow 3 apple red 1
  • 在防风草模型上使用 VIP 包计算重要性度量

    我正在尝试使用 vi firm 在防风草中制作的逻辑回归模型上计算特征重要性 对于正则表达式 我将使用 iris 数据集并尝试预测观察结果是否为 setosa iris1 lt iris gt mutate class case when
  • 如何在 R Markdown 中的内联 LateX 方程中输出 R 变量的值(即动态更新)

    我无法找到一种方法将 r 代码实现到 R markdown 中的内联 LateX 方程中 目标是如果变量 值 发生变化 则不必对它们的值进行硬编码 Given values lt c 1 4 2 5 7 9 avg lt sum value
  • R中使用余弦距离的层次聚类

    我想通过使用余弦相似度与 R 编程语言对文档语料库进行层次聚类 但出现以下错误 if is na n n gt 65536L stop 大小不能为 NA 或 超过 65536 需要 TRUE FALSE 时缺少值 我应该怎么办 为了重现它
  • 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 我必须使用neuralnet多项式分类问题的包 所有示例均针对二项式或线性输出 我可以使用二项式输出进行一些一对一的实现 但我相信我应该能够通过使用 3 个单元作为输出层来做到这一点 其中
  • R 中的点图每行有多个值

    我有以下 R 输入文件 car 1 car 2 car 3 car2 1 car2 2 car2 3 然后 我使用以下命令来绘制图表 autos data 点图 autos data V2 autos data V1 但这将每个汽车和 ca
  • 在 R 的替换命令中取消引用字符串

    我想知道是否可以unquote通过替换命令传递给表达式的字符串 具体来说 我使用 dplyr 从数据框中过滤和选择 gt w subject sex response 1 1 M 19 08 2 2 M 16 46 6 6 M 23 60

随机推荐

  • AWS Elastic Beanstalk Namecheap SSL 配置

    我的 iOS 软件平台在 AWS Elastic Beanstalk 上运行 并具有一个我们称为 something elasticbeanstalk com 的 URL 我有一个网站 我们称之为 website com 我通过 Namec
  • 如何使用 EF6 在 C# 模型中创建多列“引用”索引(连接索引)

    我知道如何在 C 中创建常见的多列索引 它是数据库中的映射表 但我在多列索引上遇到一个具体问题 代码如下 public class Table1 Index MultipleIndexColumn 1 public Table2 Table
  • AsyncTask 和 Firebase

    我正在尝试使用 RecyclerView 加载 ListView 但只有进度条正在加载 并且列表未显示 我在 AsyncTask 类中使用 Firebase 我哪里出错了 下面是我的代码 public class MainActivity
  • 将文件写入 Google Cloud Storage 时出现 IO 异常

    我正在尝试将文件从 Google App Engine 写入 Google Cloud 并且使用后端来处理将一堆文件写入 Google Cloud 存储的请求 但似乎我在大约 5 分钟内收到 IOException 我尝试了不同的文件大小
  • Visual Studio 2012/2013 缓慢的“列表成员”智能感知

    我正在使用 Visual Studio 2012 Premium Update 3 ReSharper 8 在 VB Net 中进行编码 我已停用 ReSharper 智能感知 并且正在使用标准 VS 智能感知 一段时间以来 我一直遇到严重
  • 圆弧补丁之间的填充 - Matplotlib

    我有一个ellipse我想要solid fill不同部分的颜色 为了实现这一目标 我正在使用arcs补丁 我目前正在画多个arcs并使用zorder重叠适当的arcs 主要问题是我无法扎实地填补arc补丁并且它们没有整齐地填充ellipse
  • 角度6错误ReferenceError:“进程未定义”与elasticsearch js

    在一切之前 我读到 关于流程的问题1未定义 https stackoverflow com questions 48325449 referenceerror process is not defined error in heroku a
  • 调试测试,需要建议

    作为面试的一部分 我正在进行调试测试 当我面对一个大型代码库并且必须在一两个小时内找到其中的错误时 我想是否有人可以帮助解决该方法 成为 Eclipse 3 2 上基于核心 java 的应用程序 我猜 面试官可能关注的答案是 你的总体策略是
  • Django UserProfiles 中的 user_id 列不唯一

    我试图通过 Django 中的用户配置文件 1 2 5 Ubuntu natty 中提供的版本 向用户添加一些额外的属性 但是每当我通过管理控制台创建新用户时 都会使用新用户之一包含属性 例如 电话 时 我收到 列 user id 不唯一
  • FBSDKCoreKit 项目错误

    我将 cocoa pods 更新到 0 38 1 现在 FBSDKCoreKit 出现问题 当应用程序启动时 它停止在启动屏幕上并出现错误 dyld Library not loaded rpath FBSDKCoreKit framewo
  • 将 Boost Serialization 与 xml_oarchive 一起使用时,assertion_failed

    编译Boost Serialization的简单测试时 class Test protected int Num friend class boost serialization access template
  • 使用 matplotlib 绘图时,如何避免 PyCharm 控制台崩溃“警告:QApplication 未在 main() 线程中创建”?

    在 PyCharm 中 当我尝试使用其交互式控制台绘制某些内容时 例如 In 2 from matplotlib pyplot import In 3 x range 5 In 4 y range 5 10 In 5 plot x y WA
  • 在 Clojure 中执行动态绑定函数

    我想在数据结构中预先存储一堆函数调用 然后从另一个函数中评估 执行它们 对于在命名空间级别定义的函数 这按计划工作defn 即使函数定义是在我创建数据结构之后出现的 但不适用于由let name fn or letfn函数内部 这是我的一个
  • Perl 扩展安装 - 无法运行 nmake

    我正在尝试在 XAMPP 上使用 cpan 安装模块 我运行的是 Windows 7 出现此提示后立即 CPAN pm 要构建 J JE JESSE HTTP Server Simple 0 43 tar gz 提示 未找到所需的nmake
  • Django 部署 Heroku 错误 500 Debug = False

    注 如果Debug True它运行得很好 我正在尝试部署我的 django 应用程序 我使用的主要工具我不知道是否需要特殊配置 Stripe 付款方式 但它不在我的索引页中 所以不应该是因为它 Mailgun 但我在我的设置中评论了 我也没
  • Delphi 中的 Vista 语音识别

    我希望能够使用 Microsoft Vista 的语音识别功能对我的 Delphi 应用程序进行口授 然而 当尝试听写 TMemo 时 它根本不起作用 我注意到 Firefox 3 0 也有同样的问题 在他们联系微软解决这个问题后 他们告诉
  • 位集二进制 AND 运算

    我写了以下几行 std bitset lt 4 gt bitvec bitset 0000 std bitset lt 4 gt addition bitset 0000 addition set 0 setting the least s
  • 如何更改 Xcode 界面生成器中的默认色调颜色?

    如何更改 Xcode 界面生成器中的全局默认色调颜色 In the 文件检查员的选项卡Utility在右侧的面板中 您可以找到有关尺寸类别 自动布局和情节提要的全局色调的控件
  • 集合的延迟加载 - 如何获取项目?

    我有一个简单的类 旨在成为一个简单的 POCO 它只保存数据 但有一个例外 它包含一组笔记 我想延迟加载这个集合 这样我就不必获取不需要它们的页面上的注释 其存根是这样的 public class MyDTOClass private IC
  • 多元回归模型的过滤估计值的点须图

    我正在尝试绘制 4 个不同回归模型的置信区间点须图 数据可用here https figshare com s ace5b44bc12394a7c46d first importing data Q1 lt read table Q1 tx