重回帰モデルのフィルター処理された推定値のドットアンドウィスカープロット

過ちを犯すエコロジスト

4つの異なる回帰モデルの信頼区間のドットウィスカープロットをプロットしようとしています。

データはこちらから入手できます

#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)))

次に、各モデルから2つの変数(ft2および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つの回帰モデルをプロットするにはどうすればよいですか?

更新

結果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は、モデリング/グラフィック作成プロセスを大幅に合理化できることです...)

セットアップ:

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")
  • 「ポアソンモデル」としてラベル付けしたモデルはそうではありません。これは線形混合モデルであり、パラメーターは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  

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

VBAコードを使用してフィルター処理されたリスト内の空白セルをカウントする際のVBAデバッグ

分類Dev

Djangoは、フィルター処理されたモデルインスタンスのグループ全体で最大フィールド値を取得します

分類Dev

データファクトリでのルックアップアクティビティとForEach-ネストされたJSON値の処理

分類Dev

入力された入力フィールド値のフィルタードロップダウン値

分類Dev

指定されたデータセット内の値のパーセンテージウィンドウでデータの行をグループ化し、データセットを反復処理する方法はありますか?

分類Dev

デフォルトで表示される値の複数のドロップダウンリストのデータバインディング

分類Dev

チェックアウトフィールドのカスタム表示ルールを設定するためのチェックアウトフィールドエディタプラグインフィルタフック

分類Dev

VB.NETデータが親ウィンドウのポストバックのモーダルポップアップからクリアされます

分類Dev

数値データテーブルのカスタム ドロップダウン フィルター範囲

分類Dev

ビットフィールドでのデータ処理

分類Dev

アクティブなウィンドウのフォーカスされたコントロールに貼り付けメッセージを送信する

分類Dev

クロスブラウザウィンドウのポップアップタイトルとファイルを処理するためにAutoItスクリプトをパラメータ化する方法は?

分類Dev

PlacesAutocompleteで作成されたカスタムウィジェットの値を更新すると、調査フィールドがクリアされます

分類Dev

sugarcrmのカスタムドロップダウンフィールドの値の変更時にカスタムテキストエリアにデータを入力するにはどうすればよいですか?

分類Dev

フィルターされたデータ範囲のデータ検証ドロップダウン

分類Dev

デュアルモニター用のPCIeデスクトップグラフィックカードが必要

分類Dev

2次元のExcelテーブルをフィルター処理されたドロップダウンに変更します

分類Dev

ラベルに印刷されたデータベースドロップダウンリストの値

分類Dev

Django Rest Frameworkにアップロードされたファイルと、zipのリクエストの処理

分類Dev

デフォルトのWooCommerceチェックアウトフィールドのように、カスタムチェックアウトフィールドに以前に入力した値を入力するにはどうすればよいですか?

分類Dev

activeadminrailsのフィルタードロップダウンにソートされた要素を追加する方法

分類Dev

カスタムクエリセットをマネージャーとして使用し、カスタムフィルター処理されたメソッドの後に再度フィルター処理します

分類Dev

別のドロップダウンフィールドの更新された値につながる1つのドロップダウンフィールド

分類Dev

AngularJsディレクティブ-リストでフィルタリングするためのドロップダウンを作成するときにローカルスコープを渡すときにディレクティブが正しくロードされない

分類Dev

アップロードされたファイルのデータを使用して複数の光沢のあるウィジェットを作成する

分類Dev

フィルター処理されたアダプターのコンパイルをブースト

分類Dev

動的に作成されたフィルターをSQLServerのストアドプロシージャのパラメーターとして渡し、データをフィルター処理するにはどうすればよいですか?

分類Dev

PHPStorm 2018.5.3-ウィンドウが再度フォーカスされるまで、デプロイメントはファイルウォッチャーによって変更されたファイルを自動アップロードしません

分類Dev

ASP.NET MVC:モデルフィールドへのドロップダウンリスト

Related 関連記事

  1. 1

    VBAコードを使用してフィルター処理されたリスト内の空白セルをカウントする際のVBAデバッグ

  2. 2

    Djangoは、フィルター処理されたモデルインスタンスのグループ全体で最大フィールド値を取得します

  3. 3

    データファクトリでのルックアップアクティビティとForEach-ネストされたJSON値の処理

  4. 4

    入力された入力フィールド値のフィルタードロップダウン値

  5. 5

    指定されたデータセット内の値のパーセンテージウィンドウでデータの行をグループ化し、データセットを反復処理する方法はありますか?

  6. 6

    デフォルトで表示される値の複数のドロップダウンリストのデータバインディング

  7. 7

    チェックアウトフィールドのカスタム表示ルールを設定するためのチェックアウトフィールドエディタプラグインフィルタフック

  8. 8

    VB.NETデータが親ウィンドウのポストバックのモーダルポップアップからクリアされます

  9. 9

    数値データテーブルのカスタム ドロップダウン フィルター範囲

  10. 10

    ビットフィールドでのデータ処理

  11. 11

    アクティブなウィンドウのフォーカスされたコントロールに貼り付けメッセージを送信する

  12. 12

    クロスブラウザウィンドウのポップアップタイトルとファイルを処理するためにAutoItスクリプトをパラメータ化する方法は?

  13. 13

    PlacesAutocompleteで作成されたカスタムウィジェットの値を更新すると、調査フィールドがクリアされます

  14. 14

    sugarcrmのカスタムドロップダウンフィールドの値の変更時にカスタムテキストエリアにデータを入力するにはどうすればよいですか?

  15. 15

    フィルターされたデータ範囲のデータ検証ドロップダウン

  16. 16

    デュアルモニター用のPCIeデスクトップグラフィックカードが必要

  17. 17

    2次元のExcelテーブルをフィルター処理されたドロップダウンに変更します

  18. 18

    ラベルに印刷されたデータベースドロップダウンリストの値

  19. 19

    Django Rest Frameworkにアップロードされたファイルと、zipのリクエストの処理

  20. 20

    デフォルトのWooCommerceチェックアウトフィールドのように、カスタムチェックアウトフィールドに以前に入力した値を入力するにはどうすればよいですか?

  21. 21

    activeadminrailsのフィルタードロップダウンにソートされた要素を追加する方法

  22. 22

    カスタムクエリセットをマネージャーとして使用し、カスタムフィルター処理されたメソッドの後に再度フィルター処理します

  23. 23

    別のドロップダウンフィールドの更新された値につながる1つのドロップダウンフィールド

  24. 24

    AngularJsディレクティブ-リストでフィルタリングするためのドロップダウンを作成するときにローカルスコープを渡すときにディレクティブが正しくロードされない

  25. 25

    アップロードされたファイルのデータを使用して複数の光沢のあるウィジェットを作成する

  26. 26

    フィルター処理されたアダプターのコンパイルをブースト

  27. 27

    動的に作成されたフィルターをSQLServerのストアドプロシージャのパラメーターとして渡し、データをフィルター処理するにはどうすればよいですか?

  28. 28

    PHPStorm 2018.5.3-ウィンドウが再度フォーカスされるまで、デプロイメントはファイルウォッチャーによって変更されたファイルを自動アップロードしません

  29. 29

    ASP.NET MVC:モデルフィールドへのドロップダウンリスト

ホットタグ

アーカイブ