{"id":4362,"date":"2026-10-25T08:28:01","date_gmt":"2026-10-24T23:28:01","guid":{"rendered":"https:\/\/best-biostatistics.com\/toukei-er\/?p=4362"},"modified":"2026-10-25T08:40:39","modified_gmt":"2026-10-24T23:40:39","slug":"robust-sandwich-variance-glmm-lme4-merderiv","status":"publish","type":"post","link":"https:\/\/best-biostatistics.com\/toukei-er\/entry\/robust-sandwich-variance-glmm-lme4-merderiv\/","title":{"rendered":"\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3092\u7528\u3044\u305fGLMM\uff1a\u30b5\u30f3\u30c9\u30a4\u30c3\u30c1\u63a8\u5b9a\u306e\u8003\u3048\u65b9\u3068R\u3067\u306e\u5b9f\u88c5\uff08lme4\u30fbmerDeriv\uff09"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u7814\u7a76\u8005<\/strong>: \u53cd\u5fa9\u6e2c\u5b9a\u306e2\u5024\u30c7\u30fc\u30bf\u3067GLMM\uff08<code>glmer<\/code>\uff09\u3092\u5f53\u3066\u306f\u3081\u307e\u3057\u305f\u3002\u67fb\u8aad\u5bfe\u7b56\u306b\u300c\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u300d\u3082\u51fa\u3057\u3066\u304a\u3053\u3046\u3068\u601d\u3063\u3066 <code>sandwich::vcovCL()<\/code> \u3092\u4f7f\u3063\u305f\u3089\u3001\u30a8\u30e9\u30fc\u3067\u6b62\u307e\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u2026\u2026\u3002\u305d\u3082\u305d\u3082\u3001\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3092\u4f7f\u3048\u3070GLMM\u306e\u4eee\u5b9a\u304c\u5d29\u308c\u3066\u3044\u3066\u3082\u5927\u4e08\u592b\u306b\u306a\u308b\u3093\u3067\u3057\u3087\u3046\u304b\uff1f<\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u7d71\u8a08ER<\/strong>: \u5b9f\u306f <code>vcovCL()<\/code> \u306f <code>glmer<\/code> \u306e\u7d50\u679c\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u3093\u3067\u3059\u3002<code>merDeriv<\/code> \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u8db3\u305b\u3070\u8a08\u7b97\u3067\u304d\u307e\u3059\u3088\u3002\u305d\u308c\u3068\u3001\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u306f\u300c\u4f55\u3067\u3082\u76f4\u3057\u3066\u304f\u308c\u308b\u4e07\u80fd\u85ac\u300d\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u5b88\u3063\u3066\u304f\u308c\u308b\u3082\u306e\u30fb\u5b88\u3063\u3066\u304f\u308c\u306a\u3044\u3082\u306e\u3092\u6574\u7406\u3057\u3066\u304b\u3089\u4f7f\u3044\u307e\u3057\u3087\u3046\uff01<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u500b\u4f53\u5dee\u3084\u53cd\u5fa9\u6e2c\u5b9a\u306a\u3069\u3067\u30c7\u30fc\u30bf\u9593\u306b\u76f8\u95a2\u304c\u3042\u308b\u5834\u5408\u3001\u4e00\u822c\u5316\u7dda\u5f62\u6df7\u5408\u30e2\u30c7\u30eb\uff08GLMM\uff09\u306f\u5f37\u529b\u306a\u9053\u5177\u3067\u3042\u308b\u3002\u305d\u3057\u3066\u3001\u30e2\u30c7\u30eb\u306e\u4eee\u5b9a\u304c\u5b8c\u5168\u306b\u306f\u6b63\u3057\u304f\u306a\u3044\u5834\u5408\u306b\u5099\u3048\u3066\u3001\u6a19\u6e96\u8aa4\u5dee\u3092\u300c\u30c7\u30fc\u30bf\u81ea\u8eab\u306e\u3070\u3089\u3064\u304d\u300d\u304b\u3089\u8a08\u7b97\u3057\u76f4\u3059\u306e\u304c<strong>\u30ed\u30d0\u30b9\u30c8\u5206\u6563\uff08\u30b5\u30f3\u30c9\u30a4\u30c3\u30c1\u5206\u6563\uff09<\/strong>\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u8a18\u4e8b\u3067\u306f\u3001GLMM\u306b\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3092\u7d44\u307f\u5408\u308f\u305b\u308b\u610f\u5473\u3068\u9650\u754c\u3092\u6574\u7406\u3057\u305f\u3046\u3048\u3067\u3001R\u3067\u5b9f\u969b\u306b\u8a08\u7b97\u3059\u308b\u624b\u9806\uff08<code>lme4<\/code> + <code>merDeriv<\/code> + <code>sandwich<\/code>\uff09\u3068\u3001\u7d50\u679c\u306e\u8aad\u307f\u65b9\u3001\u8ad6\u6587\u3067\u306e\u66f8\u304d\u65b9\u307e\u3067\u3092\u89e3\u8aac\u3059\u308b\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">GLMM\u306e\u6a19\u6e96\u8aa4\u5dee\u304c\u300c\u81ea\u4fe1\u904e\u5270\u300d\u306b\u306a\u308b\u3068\u304d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GLMM\u306f\u3001\u4e00\u822c\u5316\u7dda\u5f62\u30e2\u30c7\u30eb\uff08\u30ed\u30b8\u30b9\u30c6\u30a3\u30c3\u30af\u56de\u5e30\u306a\u3069\uff09\u306b\u5909\u91cf\u52b9\u679c\u3092\u52a0\u3048\u3001\u540c\u3058\u60a3\u8005\u304b\u3089\u5f97\u3089\u308c\u305f\u30c7\u30fc\u30bf\u540c\u58eb\u306e\u76f8\u95a2\u3092\u8868\u73fe\u3059\u308b\u30e2\u30c7\u30eb\u3067\u3042\u308b\u3002\u4f8b\u3048\u3070\u3001\u60a3\u8005\u3054\u3068\u306e\u300c\u6539\u5584\u3057\u3084\u3059\u3055\u300d\u306e\u9055\u3044\u3092\u5909\u91cf\u5207\u7247\u3068\u3057\u3066\u5165\u308c\u308b\u3068\u3001\u540c\u3058\u60a3\u8005\u306e\u6e2c\u5b9a\u5024\u540c\u58eb\u304c\u4f3c\u901a\u3063\u3066\u3044\u308b\u3053\u3068\u3092\u30e2\u30c7\u30eb\u304c\u7406\u89e3\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u305f\u3060\u3057\u3001GLMM\u306e\u6a19\u6e96\u8aa4\u5dee\uff08\u30e2\u30c7\u30eb\u30d9\u30fc\u30b9\u306e\u6a19\u6e96\u8aa4\u5dee\uff09\u306f\u300c\u30e2\u30c7\u30eb\u304c\u6b63\u3057\u3044\u300d\u3068\u3044\u3046\u524d\u63d0\u3067\u8a08\u7b97\u3055\u308c\u3066\u3044\u308b\u3002\u7279\u306b\u6b21\u306e\u90e8\u5206\u304c\u305a\u308c\u3066\u3044\u308b\u3068\u3001\u6a19\u6e96\u8aa4\u5dee\u306f\u5b9f\u969b\u306e\u3070\u3089\u3064\u304d\u3088\u308a\u5c0f\u3055\u304f\uff08\u3042\u308b\u3044\u306f\u5927\u304d\u304f\uff09\u898b\u7a4d\u3082\u3089\u308c\u3046\u308b\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u76f8\u95a2\u69cb\u9020\uff08\u5909\u91cf\u52b9\u679c\u306e\u69cb\u9020\uff09<\/strong>\uff1a\u4f8b\u3048\u3070\u3001\u60a3\u8005\u3054\u3068\u306b\u6539\u5584\u306e\u300c\u30b9\u30d4\u30fc\u30c9\u300d\u3082\u9055\u3046\uff08\u5909\u91cf\u50be\u304d\u304c\u5fc5\u8981\uff09\u306e\u306b\u3001\u5909\u91cf\u5207\u7247\u3060\u3051\u306e\u30e2\u30c7\u30eb\u3092\u5f53\u3066\u306f\u3081\u3066\u3044\u308b<\/li>\n\n\n\n<li><strong>\u5909\u91cf\u52b9\u679c\u306e\u5206\u5e03<\/strong>\uff1a\u5909\u91cf\u52b9\u679c\u306f\u6b63\u898f\u5206\u5e03\u306b\u5f93\u3046\u3068\u4eee\u5b9a\u3057\u3066\u3044\u308b\u304c\u3001\u5b9f\u969b\u306b\u306f\u6b6a\u3093\u3067\u3044\u305f\u308a\u30012\u3064\u306e\u96c6\u56e3\u304c\u6df7\u3056\u3063\u3066\u3044\u305f\u308a\u3059\u308b<\/li>\n\n\n\n<li><strong>\u5fdc\u7b54\u306e\u5206\u5e03<\/strong>\uff1a\u4e8c\u9805\u5206\u5e03\u30fb\u30dd\u30a2\u30bd\u30f3\u5206\u5e03\u306e\u4eee\u5b9a\u3088\u308a\u3082\u3001\u5b9f\u969b\u306e\u3070\u3089\u3064\u304d\u304c\u5927\u304d\u3044\uff08\u904e\u5206\u6563\uff09<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u30e2\u30c7\u30eb\u304c\u81ea\u5df1\u7533\u544a\u3059\u308b\u6a19\u6e96\u8aa4\u5dee\u306f\u3001\u3044\u308f\u3070<strong>\u5929\u6c17\u4e88\u5831\u306e\u300c\u964d\u6c34\u78ba\u7387\u306e\u81ea\u5df1\u8a55\u4fa1\u300d<\/strong>\u3067\u3042\u308b\u3002\u4e88\u5831\u30e2\u30c7\u30eb\u304c\u6b63\u3057\u3051\u308c\u3070\u81ea\u5df1\u8a55\u4fa1\u306f\u5f53\u3066\u306b\u306a\u308b\u304c\u3001\u30e2\u30c7\u30eb\u304c\u73fe\u5b9f\u3068\u305a\u308c\u3066\u3044\u308c\u3070\u3001\u5b9f\u7e3e\uff08\u5b9f\u969b\u306b\u96e8\u304c\u964d\u3063\u305f\u304b\u3069\u3046\u304b\uff09\u3067\u7b54\u3048\u5408\u308f\u305b\u3092\u3057\u305f\u307b\u3046\u304c\u78ba\u304b\u3060\u3002\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u306f\u3001\u3053\u306e\u300c\u5b9f\u7e3e\u306b\u3088\u308b\u7b54\u3048\u5408\u308f\u305b\u300d\u3092\u6a19\u6e96\u8aa4\u5dee\u306b\u5bfe\u3057\u3066\u884c\u3046\u65b9\u6cd5\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u30ed\u30d0\u30b9\u30c8\u5206\u6563\uff08\u30b5\u30f3\u30c9\u30a4\u30c3\u30c1\u63a8\u5b9a\uff09\u306e\u8003\u3048\u65b9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u306f\u3001Huber\u2013White \u306e<strong>\u30b5\u30f3\u30c9\u30a4\u30c3\u30c1\u63a8\u5b9a\u91cf<\/strong>\u3068\u3082\u547c\u3070\u308c\u308b\uff08White, 1982\uff09\u3002\u30d1\u30e9\u30e1\u30fc\u30bf\u63a8\u5b9a\u5024\u306e\u5206\u6563\u3092\u6b21\u306e\u5f62\u3067\u8a08\u7b97\u3059\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$$\\widehat{\\mathrm{Var}}(\\hat{\\theta}) = A^{-1}\\, B\\, A^{-1}, \\qquad B = \\sum_{i=1}^{N} s_i(\\hat{\\theta})\\, s_i(\\hat{\\theta})^{\\top}$$<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>$A$\uff08\u30d1\u30f3\uff09\uff1a\u5bfe\u6570\u5c24\u5ea6\u306e\u66f2\u304c\u308a\u5177\u5408\uff08\u8ca0\u306e\u30d8\u30c3\u30bb\u884c\u5217\uff09\u3002\u30e2\u30c7\u30eb\u304c\u300c\u3053\u306e\u304f\u3089\u3044\u6b63\u78ba\u306b\u63a8\u5b9a\u3067\u304d\u308b\u306f\u305a\u300d\u3068\u8003\u3048\u3066\u3044\u308b\u60c5\u5831\u91cf<\/li>\n\n\n\n<li>$s_i$\uff1a\u60a3\u8005 $i$ \u306e\u30b9\u30b3\u30a2\uff08\u5bfe\u6570\u5c24\u5ea6\u306e\u50be\u304d\uff09\u3092\u3001\u305d\u306e\u60a3\u8005\u306e\u5168\u6e2c\u5b9a\u306b\u3064\u3044\u3066\u307e\u3068\u3081\u305f\u3082\u306e<\/li>\n\n\n\n<li>$B$\uff08\u5177\uff09\uff1a\u60a3\u8005\u3054\u3068\u306e\u30b9\u30b3\u30a2\u304c<strong>\u5b9f\u969b\u306b<\/strong>\u3069\u308c\u3060\u3051\u3070\u3089\u3064\u3044\u305f\u304b<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u30e2\u30c7\u30eb\u304c\u6b63\u3057\u3051\u308c\u3070 $A$ \u3068 $B$ \u306f\u307b\u307c\u7b49\u3057\u304f\u306a\u308a\u3001\u30b5\u30f3\u30c9\u30a4\u30c3\u30c1\u5206\u6563\u306f\u901a\u5e38\u306e\u5206\u6563\uff08$A^{-1}$\uff09\u3068\u307b\u307c\u4e00\u81f4\u3059\u308b\u3002\u30e2\u30c7\u30eb\u304c\u305a\u308c\u3066\u3044\u308b\u3068\u4e21\u8005\u304c\u98df\u3044\u9055\u3044\u3001\u305d\u306e\u98df\u3044\u9055\u3044\u3092 $B$ \u304c\u5b9f\u30c7\u30fc\u30bf\u304b\u3089\u88dc\u6b63\u3059\u308b\u3002\u30d1\u30f3\u3067\u30e2\u30c7\u30eb\u306e\u60f3\u5b9a\u3092\u631f\u307f\u3001\u5177\u306b\u73fe\u5b9f\u3092\u5165\u308c\u308b\u3001\u3068\u3044\u3046\u30a4\u30e1\u30fc\u30b8\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u203b\u30b3\u30e9\u30e0\uff1a\u300c\u5bfe\u6570\u5c24\u5ea6\u306e\u66f2\u304c\u308a\u5177\u5408\uff08\u8ca0\u306e\u30d8\u30c3\u30bb\u884c\u5217\uff09\u300d\u3068\u306f<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6700\u5c24\u6cd5\u306f\u3001\u5bfe\u6570\u5c24\u5ea6\u3068\u3044\u3046\u300c\u5c71\u300d\u306e\u9802\u4e0a\uff08\u6700\u3082\u5f53\u3066\u306f\u307e\u308a\u306e\u3088\u3044\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u5024\uff09\u3092\u63a2\u3059\u4f5c\u696d\u3067\u3042\u308b\u3002\u9802\u4e0a\u304c\u92ed\u304f\u3068\u304c\u3063\u305f\u5c71\u306a\u3089\u3001\u5c11\u3057\u6a2a\u306b\u305a\u308c\u305f\u3060\u3051\u3067\u9ad8\u3055\u304c\u5927\u304d\u304f\u4e0b\u304c\u308b\u306e\u3067\u3001\u9802\u4e0a\u306e\u4f4d\u7f6e\u306f\u306f\u3063\u304d\u308a\u6c7a\u307e\u308b\u3002\u9006\u306b\u3001\u306a\u3060\u3089\u304b\u306a\u4e18\u306e\u3088\u3046\u306a\u5c71\u3060\u3068\u3001\u9802\u4e0a\u4ed8\u8fd1\u306f\u3069\u3053\u3082\u540c\u3058\u3088\u3046\u306a\u9ad8\u3055\u3067\u3001\u9802\u4e0a\u306e\u4f4d\u7f6e\u306f\u3042\u3044\u307e\u3044\u306b\u306a\u308b\u3002\u9727\u306e\u4e2d\u3067\u5c71\u9802\u306e\u65d7\u3092\u63a2\u3059\u3068\u304d\u3001\u3068\u304c\u3063\u305f\u5c71\u306a\u3089\u8ff7\u308f\u306a\u3044\u304c\u3001\u5e73\u3089\u306a\u4e18\u3067\u306f\u898b\u5f53\u304c\u3064\u304d\u306b\u304f\u3044\u306e\u3068\u540c\u3058\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u300c\u3068\u304c\u308a\u5177\u5408\u300d\u3092\u6570\u5024\u306b\u3057\u305f\u3082\u306e\u304c\u3001\u5bfe\u6570\u5c24\u5ea6\u306e2\u968e\u5fae\u5206\uff08\u66f2\u7387\uff09\u3067\u3042\u308b\u3002\u30d1\u30e9\u30e1\u30fc\u30bf\u304c\u8907\u6570\u3042\u308b\u306e\u3067\u30012\u968e\u5fae\u5206\u3092\u4e26\u3079\u305f\u884c\u5217\u306b\u306a\u308a\u3001\u3053\u308c\u3092<strong>\u30d8\u30c3\u30bb\u884c\u5217<\/strong>\u3068\u547c\u3076\u3002\u5c71\u306e\u9802\u4e0a\u3067\u306f\u4e0a\u306b\u51f8\u306a\u306e\u30672\u968e\u5fae\u5206\u306f\u8ca0\u306b\u306a\u308b\u3002\u305d\u3053\u3067\u7b26\u53f7\u3092\u53cd\u8ee2\u3055\u305b\u305f<strong>\u8ca0\u306e\u30d8\u30c3\u30bb\u884c\u5217<\/strong>\uff08\u89b3\u6e2c\u60c5\u5831\u884c\u5217\u3068\u3082\u547c\u3076\uff09\u3092\u300c\u60c5\u5831\u91cf\u300d\u3068\u3057\u3066\u4f7f\u3046\u3002\u60c5\u5831\u91cf\u304c\u5927\u304d\u3044\uff08\u5c71\u304c\u3068\u304c\u3063\u3066\u3044\u308b\uff09\u307b\u3069\u63a8\u5b9a\u306f\u6b63\u78ba\u3067\u3001\u305d\u306e\u9006\u884c\u5217 $A^{-1}$ \u304c\u3001<code>summary()<\/code> \u304c\u901a\u5e38\u8868\u793a\u3059\u308b\u6a19\u6e96\u8aa4\u5dee\u306e\u3082\u3068\u306b\u306a\u3063\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u305f\u3060\u3057\u3001\u3053\u306e\u8a08\u7b97\u306f\u300c\u5c71\u306e\u5f62\u3092\u30e2\u30c7\u30eb\u304c\u6b63\u3057\u304f\u63cf\u3051\u3066\u3044\u308b\u300d\u3053\u3068\u304c\u524d\u63d0\u3067\u3042\u308b\u3002\u30b5\u30f3\u30c9\u30a4\u30c3\u30c1\u63a8\u5b9a\u3067\u306f\u3001\u3053\u306e $A^{-1}$ \u3092\u30d1\u30f3\u3068\u3057\u3066\u4f7f\u3044\u3064\u3064\u3001\u5177 $B$ \u3067\u5b9f\u969b\u306e\u3070\u3089\u3064\u304d\u3092\u5165\u308c\u3066\u88dc\u6b63\u3059\u308b\u3002<\/p>\n<\/blockquote>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u203b\u30b3\u30e9\u30e0\uff1a\u306a\u305c\u300c\u60a3\u8005\u5358\u4f4d\u300d\u3067\u307e\u3068\u3081\u308b\u306e\u304b<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3067\u306f\u3001\u30b9\u30b3\u30a2\u3092\u6e2c\u5b9a1\u56de\u3054\u3068\u3067\u306f\u306a\u304f<strong>\u60a3\u8005\uff08\u30af\u30e9\u30b9\u30bf\u30fc\uff09\u3054\u3068\u306b\u5408\u8a08\u3057\u3066\u304b\u3089<\/strong>\u3070\u3089\u3064\u304d\u3092\u898b\u308b\u3002\u3053\u3046\u3059\u308b\u3068\u3001\u540c\u3058\u60a3\u8005\u306e\u4e2d\u306e\u76f8\u95a2\u304c\u3069\u3093\u306a\u5f62\u3067\u3042\u3063\u3066\u3082\u3001\u305d\u306e\u5f71\u97ff\u304c $B$ \u306b\u307e\u308b\u3054\u3068\u5165\u308b\u3002\u3060\u304b\u3089\u3053\u305d\u300c\u76f8\u95a2\u69cb\u9020\u306e\u6307\u5b9a\u30df\u30b9\u300d\u306b\u5f37\u3044\u3002\u305d\u306e\u4ee3\u308f\u308a\u3001\u3070\u3089\u3064\u304d\u3092\u898b\u7a4d\u3082\u308b\u5358\u4f4d\u306f\u300c\u60a3\u8005\u306e\u6570\u300d\u306b\u306a\u308b\u305f\u3081\u3001\u60a3\u8005\u6570\uff08\u30af\u30e9\u30b9\u30bf\u30fc\u6570\uff09\u304c\u5c11\u306a\u3044\u3068 $B$ \u81ea\u4f53\u304c\u4e0d\u5b89\u5b9a\u306b\u306a\u308b\u3002<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<div id=\"biost-1573562167\" class=\"biost- biost-entity-placement\" role=\"region\" aria-label=\"\u5e83\u544a\"><p style=\"text-align: center;\"><span style=\"font-size: 20px;\"><strong><a href=\"https:\/\/best-biostatistics.com\/kmhl\">\uff1e\uff1e\u3082\u3046\u7d71\u8a08\u3067\u60a9\u3080\u306e\u306f\u7d42\u308f\u308a\u306b\u3057\u307e\u305b\u3093\u304b\uff1f\u00a0<\/a><\/strong><\/span><\/p>\r\n<a href=\"https:\/\/best-biostatistics.com\/kmhl\"><img class=\"aligncenter wp-image-2794 size-full\" src=\"https:\/\/best-biostatistics.com\/wp\/wp-content\/uploads\/2023\/11\/bn_r_03.png\" alt=\"\" width=\"500\" height=\"327\" \/><\/a>\r\n<p style=\"text-align: center;\"><span style=\"color: #ff0000; font-size: 20px;\"><strong><span class=\"marker2\">\u21911\u4e07\u4eba\u4ee5\u4e0a\u306e\u533b\u7642\u5f93\u4e8b\u8005\u304c\u8cfc\u8aad\u4e2d<\/span><\/strong><\/span><\/p><\/div><h2 class=\"wp-block-heading\">\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u304c\u5b88\u3063\u3066\u304f\u308c\u308b\u3082\u306e\u30fb\u5b88\u3063\u3066\u304f\u308c\u306a\u3044\u3082\u306e<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u3053\u304c\u6700\u3082\u8aa4\u89e3\u3055\u308c\u3084\u3059\u3044\u70b9\u3067\u3042\u308b\u3002\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u304c\u76f4\u3059\u306e\u306f<strong>\u6a19\u6e96\u8aa4\u5dee\uff08\uff1d\u4fe1\u983c\u533a\u9593\u306e\u5e45\u3068P\u5024\uff09\u3060\u3051<\/strong>\u3067\u3001<strong>\u63a8\u5b9a\u5024\u305d\u306e\u3082\u306e\u306f1\u30df\u30ea\u3082\u5909\u308f\u3089\u306a\u3044<\/strong>\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u72b6\u6cc1<\/th><th>\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3067\u6551\u3048\u308b\u304b<\/th><th>\u88dc\u8db3<\/th><\/tr><\/thead><tbody><tr><td>\u5909\u91cf\u52b9\u679c\u306e\u69cb\u9020\u306e\u6307\u5b9a\u30df\u30b9\uff08\u5909\u91cf\u50be\u304d\u306e\u5165\u308c\u5fd8\u308c\u306a\u3069\uff09<\/td><td>\u6a19\u6e96\u8aa4\u5dee\u306f\u6551\u3048\u308b<\/td><td>\u63a8\u5b9a\u5024\u306f\u305d\u306e\u307e\u307e\u3002\u672c\u6765\u306f\u69cb\u9020\u3092\u898b\u76f4\u3059\u306e\u304c\u672c\u7b4b<\/td><\/tr><tr><td>\u60a3\u8005\u5185\u306e\u904e\u5206\u6563<\/td><td>\u6a19\u6e96\u8aa4\u5dee\u306f\u6551\u3048\u308b<\/td><td>\u2014<\/td><\/tr><tr><td>\u5909\u91cf\u52b9\u679c\u306e\u5206\u5e03\u306e\u5f62\u306e\u305a\u308c\uff08\u6b63\u898f\u3067\u306a\u3044\uff09<\/td><td>\u6a19\u6e96\u8aa4\u5dee\u306f\u6551\u3048\u308b\u3002\u63a8\u5b9a\u5024\u306e\u504f\u308a\u306f\u6551\u3048\u306a\u3044<\/td><td>\u30ed\u30b8\u30b9\u30c6\u30a3\u30c3\u30afGLMM\u306e\u56de\u5e30\u4fc2\u6570\u306f\u3001\u5206\u5e03\u306e\u5f62\u306e\u305a\u308c\u306b\u6bd4\u8f03\u7684\u5f37\u3044\u3053\u3068\u304c\u77e5\u3089\u308c\u308b\uff08McCulloch &amp; Neuhaus, 2011\uff09\u3002\u5207\u7247\u3084\u5909\u91cf\u52b9\u679c\u306e\u5206\u6563\u306f\u5f71\u97ff\u3092\u53d7\u3051\u3084\u3059\u3044<\/td><\/tr><tr><td>\u5e73\u5747\u69cb\u9020\u306e\u8aa4\u308a\uff08\u4ea4\u7d61\u56e0\u5b50\u306e\u5165\u308c\u5fd8\u308c\u3001\u30ea\u30f3\u30af\u95a2\u6570\u306e\u8aa4\u308a\u306a\u3069\uff09<\/td><td>\u6551\u3048\u306a\u3044<\/td><td>\u63a8\u5b9a\u5024\u305d\u306e\u3082\u306e\u304c\u504f\u3063\u3066\u3044\u308b<\/td><\/tr><tr><td>\u60a3\u8005\u6570\uff08\u30af\u30e9\u30b9\u30bf\u30fc\u6570\uff09\u304c\u5c11\u306a\u3044<\/td><td>\u3080\u3057\u308d\u60aa\u5316\u3057\u3046\u308b<\/td><td>\u30b5\u30f3\u30c9\u30a4\u30c3\u30c1\u5206\u6563\u306f\u904e\u5c0f\u306b\u306a\u308a\u3084\u3059\u3044\uff08Mancl &amp; DeRouen, 2001\uff09<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u3064\u307e\u308a\u3001\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u306f<strong>\u300c\u63a8\u5b9a\u5024\u304c\u72d9\u3063\u3066\u3044\u308b\u91cf\u306f\u304a\u304a\u3080\u306d\u6b63\u3057\u3044\u304c\u3001\u305d\u306e\u4e0d\u78ba\u304b\u3055\u306e\u898b\u7a4d\u3082\u308a\u306b\u81ea\u4fe1\u304c\u306a\u3044\u300d<\/strong>\u3068\u304d\u306e\u4fdd\u967a\u3067\u3042\u308b\u3002\u504f\u3063\u305f\u63a8\u5b9a\u5024\u3092\u6b63\u3057\u304f\u3059\u308b\u9053\u5177\u3067\u306f\u306a\u3044\u3002<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u203b\u30b3\u30e9\u30e0\uff1aGLMM\u306e\u300c\u6761\u4ef6\u4ed8\u304d\u300d\u52b9\u679c\u3068GEE\u306e\u300c\u5468\u8fba\u300d\u52b9\u679c<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u306e\u672c\u5bb6\u306f\u3001\u4e00\u822c\u5316\u63a8\u5b9a\u65b9\u7a0b\u5f0f\uff08GEE; Liang &amp; Zeger, 1986\uff09\u3067\u3042\u308b\u3002GEE\u306f\u300c\u96c6\u56e3\u5168\u4f53\u3067\u5e73\u5747\u3057\u305f\u30aa\u30c3\u30ba\u6bd4\u300d\uff08\u5468\u8fba\u52b9\u679c\u3001population-averaged\uff09\u3092\u63a8\u5b9a\u3057\u3001\u6a19\u6e96\u8aa4\u5dee\u306f\u6700\u521d\u304b\u3089\u30b5\u30f3\u30c9\u30a4\u30c3\u30c1\u3067\u8a08\u7b97\u3059\u308b\u3002\u4e00\u65b9\u3001GLMM\u306e\u56de\u5e30\u4fc2\u6570\u306f\u300c\u540c\u3058\u5909\u91cf\u52b9\u679c\u3092\u3082\u3064\u60a3\u8005\u306e\u4e2d\u3067\u306e\u30aa\u30c3\u30ba\u6bd4\u300d\uff08\u6761\u4ef6\u4ed8\u304d\u52b9\u679c\u3001subject-specific\uff09\u3067\u3042\u308b\u3002\u30ed\u30b8\u30b9\u30c6\u30a3\u30c3\u30af\u30e2\u30c7\u30eb\u3067\u306f\u3001\u5468\u8fba\u30aa\u30c3\u30ba\u6bd4\u306f\u6761\u4ef6\u4ed8\u304d\u30aa\u30c3\u30ba\u6bd4\u3088\u308a1\u306b\u8fd1\u304f\u306a\u308b\uff08\u6e1b\u8870\u3059\u308b\uff09\u305f\u3081\u3001<strong>GLMM\uff0b\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3068GEE\u306f\u3001\u4f3c\u3066\u3044\u308b\u304c\u5225\u306e\u91cf\u3092\u63a8\u5b9a\u3057\u3066\u3044\u308b<\/strong>\u3002\u7d50\u679c\u3092\u6bd4\u3079\u308b\u3068\u304d\u306f\u3001\u3053\u306e\u9055\u3044\u3092\u5ff5\u982d\u306b\u7f6e\u304d\u305f\u3044\u3002<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u901a\u5e38\u306e\u6a19\u6e96\u8aa4\u5dee\u3068\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u306e\u4f7f\u3044\u5206\u3051<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u4e3b\u89e3\u6790<\/strong>\uff1a\u4e8b\u524d\u306b\u8a08\u753b\u3057\u305fGLMM\uff08\u30e2\u30c7\u30eb\u30d9\u30fc\u30b9\u306e\u6a19\u6e96\u8aa4\u5dee\uff09\u3092\u57fa\u672c\u3068\u3057\u3001\u5909\u91cf\u52b9\u679c\u306e\u69cb\u9020\u306f\u3001\u7814\u7a76\u30c7\u30b6\u30a4\u30f3\u3068\u81e8\u5e8a\u7684\u306a\u77e5\u8b58\u304b\u3089\u59a5\u5f53\u306a\u3082\u306e\u3092\u9078\u3076<\/li>\n\n\n\n<li><strong>\u611f\u5ea6\u5206\u6790<\/strong>\uff1a\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3067\u3082\u4fe1\u983c\u533a\u9593\u3092\u8a08\u7b97\u3057\u3001\u4e3b\u89e3\u6790\u3068\u5927\u304d\u304f\u5909\u308f\u3089\u306a\u3044\u304b\u3092\u78ba\u8a8d\u3059\u308b\u3002\u5927\u304d\u304f\u5909\u308f\u308b\u5834\u5408\u306f\u3001\u307e\u305a\u5909\u91cf\u52b9\u679c\u306e\u69cb\u9020\uff08\u5909\u91cf\u50be\u304d\u306e\u5fc5\u8981\u6027\u306a\u3069\uff09\u3092\u898b\u76f4\u3059<\/li>\n\n\n\n<li><strong>\u30af\u30e9\u30b9\u30bf\u30fc\u6570\u304c\u5c11\u306a\u3044\u3068\u304d<\/strong>\uff08\u76ee\u5b89\u3068\u3057\u3066\u6570\u5341\u672a\u6e80\uff09\uff1a\u7d20\u6734\u306a\u30b5\u30f3\u30c9\u30a4\u30c3\u30c1\u5206\u6563\u306f\u5c0f\u3055\u304f\u51fa\u3084\u3059\u3044\u3002\u5c0f\u6a19\u672c\u88dc\u6b63\uff08Mancl\u2013DeRouen\u88dc\u6b63\u306a\u3069\uff09\u3092\u691c\u8a0e\u3059\u308b\u304b\u3001\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u306b\u983c\u308a\u3059\u304e\u306a\u3044<\/li>\n\n\n\n<li><strong>\u96c6\u56e3\u5e73\u5747\u306e\u52b9\u679c\u3092\u77e5\u308a\u305f\u3044\u3068\u304d<\/strong>\uff1a\u306f\u3058\u3081\u304b\u3089GEE\uff08\u307e\u305f\u306f\u5468\u8fba\u52b9\u679c\u3092\u51fa\u305b\u308b\u30e2\u30c7\u30eb\uff09\u3092\u9078\u3076<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u300c\u3068\u306b\u304b\u304f\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3092\u4f7f\u3048\u3070\u5b89\u5fc3\u300d\u3067\u306f\u306a\u304f\u3001\u300c\u4e3b\u89e3\u6790\uff0b\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3067\u7b54\u3048\u5408\u308f\u305b\u300d\u3068\u3044\u3046\u4f4d\u7f6e\u3065\u3051\u3067\u4f7f\u3046\u306e\u304c\u5b9f\u8df5\u7684\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u5177\u4f53\u4f8b\uff1a\u6cbb\u7642\u6cd5\u30fb\u6027\u5225\u3068\u7d4c\u6642\u7684\u306a\u75c5\u72b6\u6539\u5584<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u67b6\u7a7a\u306e\u81e8\u5e8a\u8a66\u9a13\u3092\u8003\u3048\u308b\u3002\u3042\u308b\u75be\u60a3\u306e\u60a3\u8005100\u4eba\u3092\u6cbb\u7642\u6cd5A\u30fbB\u306b\u30e9\u30f3\u30c0\u30e0\u306b\u5272\u308a\u4ed8\u3051\u3001\u6cbb\u7642\u958b\u59cb\u6642\u304b\u30891\u9031\u9593\u3054\u3068\u306b\u8a084\u56de\uff08visit = 0, 1, 2, 3\uff09\u3001\u75c5\u72b6\u304c\u300c\u6539\u5584\u300d\u3057\u305f\u304b\u3069\u3046\u304b\uff081 = \u6539\u5584\u30010 = \u4e0d\u5909\u30fb\u60aa\u5316\uff09\u3092\u8a55\u4fa1\u3057\u305f\u3002\u6027\u5225\uff08Female \/ Male\uff09\u3082\u8a18\u9332\u3055\u308c\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u3053\u3067\u3001\u771f\u306e\u30c7\u30fc\u30bf\u751f\u6210\u306e\u4ed5\u7d44\u307f\u3067\u306f\u3001\u60a3\u8005\u3054\u3068\u306b\u300c\u6539\u5584\u3057\u3084\u3059\u3055\u300d\uff08\u5909\u91cf\u5207\u7247\uff09\u3060\u3051\u3067\u306a\u304f\u300c\u6539\u5584\u306e\u30b9\u30d4\u30fc\u30c9\u300d\uff08\u5909\u91cf\u50be\u304d\uff09\u3082\u7570\u306a\u308b\u3068\u3059\u308b\u3002\u3057\u304b\u3057\u89e3\u6790\u3067\u306f\u3001\u3088\u304f\u4f7f\u308f\u308c\u308b<strong>\u5909\u91cf\u5207\u7247\u3060\u3051\u306eGLMM<\/strong>\u3092\u5f53\u3066\u306f\u3081\u3066\u307f\u308b\u3002\u3064\u307e\u308a\u3001\u76f8\u95a2\u69cb\u9020\u3092\u3042\u3048\u3066\u8aa4\u6307\u5b9a\u3057\u305f\u72b6\u6cc1\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u60a3\u8005 $i$ \u306e $j$ \u56de\u76ee\u306e\u8a55\u4fa1\u3067\u6539\u5584\u3059\u308b\u78ba\u7387\u3092 $p_{ij}$ \u3068\u3059\u308b\u3068\u3001\u5f53\u3066\u306f\u3081\u308b\u30e2\u30c7\u30eb\u306f\u6b21\u306e\u3068\u304a\u308a\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">$$\\mathrm{logit}(p_{ij}) = \\beta_0 + \\beta_1\\,\\mathrm{TreatB}_i + \\beta_2\\,\\mathrm{Male}_i + \\beta_3\\,(\\mathrm{TreatB}_i \\times \\mathrm{Male}_i) + \\beta_4\\,\\mathrm{visit}_{ij} + u_i$$<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>$\\beta_0 \\sim \\beta_4$\uff1a\u56fa\u5b9a\u52b9\u679c\u306e\u4fc2\u6570\uff08\u6cbb\u7642\u6cd5\u30fb\u6027\u5225\u306f\u60a3\u8005\u5358\u4f4d\u3001visit\u306f\u6e2c\u5b9a\u3054\u3068\u306b\u5909\u308f\u308b\u5171\u5909\u91cf\uff09<\/li>\n\n\n\n<li>$u_i \\sim N(0, \\sigma_u^2)$\uff1a\u60a3\u8005 $i$ \u306e\u5909\u91cf\u5207\u7247<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u771f\u306e\u4ed5\u7d44\u307f\u306b\u306f\u60a3\u8005\u3054\u3068\u306e\u50be\u304d $u_{1i} \\times \\mathrm{visit}_{ij}$ \u3082\u3042\u308b\u304c\u3001\u3053\u306e\u30e2\u30c7\u30eb\u306b\u306f\u5165\u3063\u3066\u3044\u306a\u3044\u3002\u3053\u306e\u300c\u5165\u308c\u5fd8\u308c\u300d\u304c\u3001\u3069\u306e\u4fc2\u6570\u306e\u6a19\u6e96\u8aa4\u5dee\u306b\u52b9\u3044\u3066\u304f\u308b\u304b\u3092\u898b\u3066\u3044\u304f\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">R\u3067\u306e\u8a08\u7b97\u4f8b<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GLMM\u306f <code>lme4::glmer()<\/code> \u3067\u5f53\u3066\u306f\u3081\u3001\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u306f <code>merDeriv<\/code> \u30d1\u30c3\u30b1\u30fc\u30b8\uff08Wang et al., 2022\uff09\u3068 <code>sandwich<\/code> \u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u8a08\u7b97\u3059\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u52d5\u4f5c\u78ba\u8a8d\u74b0\u5883\uff1aR 4.6.1\u3001lme4 2.0.6\u3001merDeriv 0.2.6\u3001sandwich 3.1.3\u3001GLMMadaptive 0.9.7\u3001geepack 1.3.13\u3001dplyr 1.2.1\uff082026\u5e7410\u6708\u6642\u70b9\uff09\u3002lme4 \u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u306b\u3088\u3063\u3066\u3001\u51fa\u529b\u306e\u5c0f\u6570\u70b9\u4ee5\u4e0b3\u301c4\u6841\u76ee\u304c\u308f\u305a\u304b\u306b\u5909\u308f\u308b\u3053\u3068\u304c\u3042\u308b\u3002<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>\u203b\u6ce8\u610f\uff1a\u3088\u304f\u3042\u308b\u3064\u307e\u305a\u304d<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sandwich::vcovCL()<\/code> \u306f <code>glmer<\/code> \u306e\u7d50\u679c\uff08glmerMod\uff09\u306b\u5bfe\u5fdc\u3057\u3066\u304a\u3089\u305a\u3001\u300cno applicable method for &#8216;estfun&#8217; applied to an object of class glmerMod\u300d\u3068\u3044\u3046\u30a8\u30e9\u30fc\u3067\u6b62\u307e\u308b\u3002\u307e\u305f\u3001<code>clubSandwich::vcovCR()<\/code> \u3082 glmerMod \u306b\u306f\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\uff08\u7dda\u5f62\u6df7\u5408\u30e2\u30c7\u30eb\u306e <code>lmer<\/code> \u306b\u306f\u5bfe\u5fdc\uff09\u3002<code>merDeriv<\/code> \u3092\u8aad\u307f\u8fbc\u3080\u3068\u3001glmerMod \u7528\u306e <code>estfun()<\/code>\uff08\u60a3\u8005\u3054\u3068\u306e\u30b9\u30b3\u30a2\uff09\u3068 <code>bread()<\/code> \u304c\u8ffd\u52a0\u3055\u308c\u3001<code>sandwich::sandwich()<\/code> \u3067\u8a08\u7b97\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\u3002<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Step 0\uff1a\u30d1\u30c3\u30b1\u30fc\u30b8\u306e\u6e96\u5099<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>pkgs &lt;- c(\"lme4\", \"merDeriv\", \"sandwich\", \"GLMMadaptive\", \"geepack\", \"dplyr\")\nfor (p in pkgs) if (!requireNamespace(p, quietly = TRUE)) install.packages(p)\nlibrary(lme4)\nlibrary(merDeriv)   # glmerMod \u7528\u306e estfun() \/ bread() \u3092\u8ffd\u52a0\u3059\u308b\nlibrary(sandwich)\nlibrary(dplyr)<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>merDeriv<\/code> \u3092\u8aad\u307f\u8fbc\u3080\u3068\u3001\u4f9d\u5b58\u30d1\u30c3\u30b1\u30fc\u30b8\uff08<code>lavaan<\/code>\u3001<code>nonnest2<\/code>\uff09\u306e\u8d77\u52d5\u30e1\u30c3\u30bb\u30fc\u30b8\u304c\u8868\u793a\u3055\u308c\u308b\u304c\u3001\u554f\u984c\u306a\u3044\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1\uff1a\u7591\u4f3c\u30c7\u30fc\u30bf\u306e\u4f5c\u6210<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>#  100\u4eba \u00d7 4\u56de\uff08visit = 0, 1, 2, 3\uff09\u306e2\u5024\u30a2\u30a6\u30c8\u30ab\u30e0\uff081 = \u6539\u5584\uff09\n#  \u771f\u306e\u30e2\u30c7\u30eb\u3067\u306f\u300c\u6539\u5584\u306e\u30b9\u30d4\u30fc\u30c9\u300d\u304c\u60a3\u8005\u3054\u3068\u306b\u9055\u3046\uff08\u5909\u91cf\u50be\u304d u1\uff09\n# ------------------------------------------------------------\nset.seed(123)\nn_patients &lt;- 100\nn_visits   &lt;- 4\n\npatients &lt;- data.frame(\n  patient_id = 1:n_patients,\n  treatment  = factor(sample(c(\"A\", \"B\"), n_patients, replace = TRUE), levels = c(\"A\", \"B\")),\n  sex        = factor(sample(c(\"Female\", \"Male\"), n_patients, replace = TRUE), levels = c(\"Female\", \"Male\")),\n  u0 = rnorm(n_patients, 0, 0.8),  # \u60a3\u8005\u3054\u3068\u306e\u300c\u6539\u5584\u3057\u3084\u3059\u3055\u300d\uff08\u5909\u91cf\u5207\u7247\uff09\n  u1 = rnorm(n_patients, 0, 0.6)   # \u60a3\u8005\u3054\u3068\u306e\u300c\u6539\u5584\u30b9\u30d4\u30fc\u30c9\u300d\uff08\u5909\u91cf\u50be\u304d\uff09\n)\n\ndat &lt;- expand.grid(patient_id = 1:n_patients, visit = 0:(n_visits - 1)) %&gt;%\n  left_join(patients, by = \"patient_id\") %&gt;%\n  mutate(\n    logit_p = -1 + 0.5 * (treatment == \"B\") - 0.4 * (sex == \"Male\") +\n      0.3 * (treatment == \"B\") * (sex == \"Male\") +\n      0.3 * visit + u0 + u1 * visit,\n    improvement = rbinom(n(), 1, plogis(logit_p)),\n    patient_id  = factor(patient_id)\n  ) %&gt;%\n  arrange(patient_id, visit)   # GEE\u7528\u306b\u60a3\u8005\u3054\u3068\u306b\u4e26\u3079\u3066\u304a\u304f<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u6027\u5225\u306f Female \u3092\u57fa\u6e96\u30ab\u30c6\u30b4\u30ea\u306b\u660e\u793a\u3057\u3066\u3044\u308b\uff08<code>levels<\/code> \u3092\u6307\u5b9a\u3057\u306a\u3044\u3068\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c8\u9806\u3067\u6c7a\u307e\u308b\u305f\u3081\u3001\u610f\u56f3\u3057\u306a\u3044\u57fa\u6e96\u306b\u306a\u308a\u3084\u3059\u3044\uff09\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2\uff1a\u5909\u91cf\u5207\u7247\u3060\u3051\u306eGLMM\u3092\u5f53\u3066\u306f\u3081\u308b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>model_glmm &lt;- glmer(\n  improvement ~ treatment * sex + visit + (1 | patient_id),\n  data = dat, family = binomial(link = \"logit\")\n)\nsummary(model_glmm)$coefficients<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>                      Estimate Std. Error    z value   Pr(&gt;|z|)\n(Intercept)        -0.46115234 0.28185590 -1.6361280 0.10181280\ntreatmentB         -0.26490874 0.36644416 -0.7229171 0.46973083\nsexMale            -0.41883313 0.32899818 -1.2730561 0.20299814\nvisit               0.22209649 0.09740672  2.2800941 0.02260211\ntreatmentB:sexMale  0.06461201 0.50454949  0.1280588 0.89810242<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u771f\u306e\u5024\uff08treatmentB = 0.5 \u306a\u3069\uff09\u3068\u63a8\u5b9a\u5024\u304c\u305a\u308c\u3066\u3044\u308b\u306e\u306f\u3001\u60a3\u8005100\u4eba\u3068\u3044\u3046\u898f\u6a21\u3067\u306e\u5076\u7136\u8aa4\u5dee\u3067\u3042\u308b\uff08\u6a19\u6e96\u8aa4\u5dee\u306f\u7d040.37\u3042\u308a\u3001\u3053\u306e\u7a0b\u5ea6\u306e\u305a\u308c\u306f\u5076\u7136\u3067\u3082\u8d77\u3053\u308a\u3046\u308b\u3002\u5225\u306e\u30b7\u30fc\u30c9\u3067\u5b9f\u884c\u3059\u308b\u3068\u63a8\u5b9a\u5024\u306f\u771f\u306e\u5024\u306b\u8fd1\u3065\u3044\u305f\u308a\u96e2\u308c\u305f\u308a\u3059\u308b\uff09\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3\uff1a\u60a3\u8005\u5358\u4f4d\u306e\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3092\u8a08\u7b97\u3059\u308b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>p &lt;- length(fixef(model_glmm))\nvcov_robust_all &lt;- sandwich(model_glmm,\n                            bread = bread(model_glmm, full = TRUE),\n                            meat  = meat(model_glmm))\nvcov_robust &lt;- vcov_robust_all&#91;1:p, 1:p]   # \u56fa\u5b9a\u52b9\u679c\u306e\u90e8\u5206\u3060\u3051\u53d6\u308a\u51fa\u3059\n\nse_model  &lt;- sqrt(diag(as.matrix(vcov(model_glmm))))\nse_robust &lt;- sqrt(diag(vcov_robust))<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>bread(..., full = TRUE)<\/code> \u306f\u56fa\u5b9a\u52b9\u679c\u306b\u52a0\u3048\u3066\u5909\u91cf\u52b9\u679c\u306e\u5206\u6563\u3082\u542b\u3081\u305f\u884c\u5217\u3092\u8fd4\u3059\u305f\u3081\u3001\u6700\u5f8c\u306b\u56fa\u5b9a\u52b9\u679c\u306e\u90e8\u5206\uff08\u5de6\u4e0a\u306e $p \\times p$\uff09\u3060\u3051\u3092\u53d6\u308a\u51fa\u3057\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4\uff1a\u901a\u5e38SE\u3068\u30ed\u30d0\u30b9\u30c8SE\u3092\u6bd4\u8f03\u3059\u308b<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>est &lt;- fixef(model_glmm)\nz   &lt;- qnorm(0.975)\ncomparison &lt;- data.frame(\n  term      = names(est),\n  estimate  = est,\n  SE_model  = se_model,\n  SE_robust = se_robust,\n  SE_ratio  = se_robust \/ se_model,\n  p_model   = 2 * pnorm(-abs(est \/ se_model)),\n  p_robust  = 2 * pnorm(-abs(est \/ se_robust)),\n  row.names = NULL\n)\nprint(comparison, digits = 3)\n\ncomparison %&gt;%\n  filter(term != \"(Intercept)\") %&gt;%\n  transmute(\n    term,\n    OR_model_CI  = sprintf(\"%.2f (%.2f-%.2f)\", exp(estimate),\n                           exp(estimate - z * SE_model),  exp(estimate + z * SE_model)),\n    OR_robust_CI = sprintf(\"%.2f (%.2f-%.2f)\", exp(estimate),\n                           exp(estimate - z * SE_robust), exp(estimate + z * SE_robust))\n  )<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>               term estimate SE_model SE_robust SE_ratio p_model p_robust\n1        (Intercept)  -0.4612   0.2819     0.256    0.909  0.1018   0.0720\n2         treatmentB  -0.2649   0.3664     0.378    1.031  0.4697   0.4831\n3            sexMale  -0.4188   0.3290     0.319    0.970  0.2030   0.1892\n4              visit   0.2221   0.0974     0.115    1.176  0.0226   0.0525\n5 treatmentB:sexMale   0.0646   0.5045     0.513    1.016  0.8981   0.8997\n\n                term      OR_model_CI     OR_robust_CI\n1         treatmentB 0.77 (0.37-1.57) 0.77 (0.37-1.61)\n2            sexMale 0.66 (0.35-1.25) 0.66 (0.35-1.23)\n3              visit 1.25 (1.03-1.51) 1.25 (1.00-1.56)\n4 treatmentB:sexMale 1.07 (0.40-2.87) 1.07 (0.39-2.91)<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5\uff1a\u5225\u30eb\u30fc\u30c8\u3067\u78ba\u8a8d\u3059\u308b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u8a08\u7b97\u304c\u6b63\u3057\u3044\u304b\u3092\u3001\u5225\u306e\u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u3082\u78ba\u304b\u3081\u3066\u304a\u304f\u3002<code>GLMMadaptive<\/code> \u306f <code>vcov(..., sandwich = TRUE)<\/code> \u3060\u3051\u3067\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3092\u51fa\u305b\u308b\u3002\u3042\u308f\u305b\u3066\u3001\u5909\u91cf\u50be\u304d\u3092\u5165\u308c\u305fGLMM\u3068\u3001GEE\u3082\u5f53\u3066\u306f\u3081\u3066\u307f\u308b\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>library(GLMMadaptive)\nmodel_ga &lt;- mixed_model(improvement ~ treatment * sex + visit,\n                        random = ~ 1 | patient_id,\n                        data = dat, family = binomial())\ncbind(estimate  = fixef(model_ga),\n      SE_model  = sqrt(diag(vcov(model_ga)))&#91;1:p],\n      SE_robust = sqrt(diag(vcov(model_ga, sandwich = TRUE)))&#91;1:p])\n\nmodel_slope &lt;- glmer(\n  improvement ~ treatment * sex + visit + (1 + visit | patient_id),\n  data = dat, family = binomial(link = \"logit\")\n)\ncbind(estimate = fixef(model_slope),\n      SE_model = sqrt(diag(as.matrix(vcov(model_slope)))))\n\nlibrary(geepack)\nmodel_gee &lt;- geeglm(improvement ~ treatment * sex + visit,\n                    id = patient_id, data = dat,\n                    family = binomial, corstr = \"exchangeable\")\nsummary(model_gee)$coefficients<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># GLMMadaptive\uff08\u5909\u91cf\u5207\u7247\u306e\u307f\uff09\n                      estimate   SE_model SE_robust\n(Intercept)        -0.46712474 0.29004902 0.2623063\ntreatmentB         -0.26804277 0.38019809 0.3892545\nsexMale            -0.42419455 0.34123394 0.3285430\nvisit               0.22477266 0.09812843 0.1156556\ntreatmentB:sexMale  0.06515193 0.52339361 0.5276670\n\n# \u5909\u91cf\u50be\u304d\u3082\u5165\u308c\u305fGLMM\n                     estimate  SE_model\n(Intercept)        -0.5272414 0.3247425\ntreatmentB         -0.1164794 0.4320546\nsexMale            -0.4322640 0.3835457\nvisit               0.2178499 0.1506007\ntreatmentB:sexMale -0.1250080 0.5893599\n\n# GEE\uff08\u4ea4\u63db\u53ef\u80fd\u76f8\u95a2\u3001\u30ed\u30d0\u30b9\u30c8SE\uff09\n                     Estimate   Std.err       Wald   Pr(&gt;|W|)\n(Intercept)        -0.4216020 0.2334879 3.26044423 0.07096990\ntreatmentB         -0.2457650 0.3530362 0.48462015 0.48633700\nsexMale            -0.3826376 0.2984716 1.64349818 0.19984618\nvisit               0.2034903 0.1032775 3.88218036 0.04880114\ntreatmentB:sexMale  0.0602403 0.4781236 0.01587427 0.89973735<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u7d50\u679c\u306e\u89e3\u91c8<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u63a8\u5b9a\u5024\uff08\u30aa\u30c3\u30ba\u6bd4\uff09\u306f\u901a\u5e38SE\u3067\u3082\u30ed\u30d0\u30b9\u30c8SE\u3067\u3082\u540c\u3058<\/strong>\u3067\u3042\u308b\u3002\u5909\u308f\u308b\u306e\u306f\u6a19\u6e96\u8aa4\u5dee\u30fb\u4fe1\u983c\u533a\u9593\u30fbP\u5024\u3060\u3051\u3067\u3042\u308b<\/li>\n\n\n\n<li><strong>\u60a3\u8005\u5358\u4f4d\u306e\u5171\u5909\u91cf\uff08\u6cbb\u7642\u6cd5\u30fb\u6027\u5225\u30fb\u4ea4\u4e92\u4f5c\u7528\uff09<\/strong>\u3067\u306f\u3001\u30ed\u30d0\u30b9\u30c8SE\u3068\u901a\u5e38SE\u306e\u6bd4\u306f0.97\u301c1.03\u3067\u3001\u307b\u3068\u3093\u3069\u5dee\u304c\u306a\u3044<\/li>\n\n\n\n<li><strong>\u6e2c\u5b9a\u3054\u3068\u306b\u5909\u308f\u308b\u5171\u5909\u91cf\uff08visit\uff09<\/strong>\u3067\u306f\u3001\u30ed\u30d0\u30b9\u30c8SE\u304c\u901a\u5e38SE\u306e\u7d041.18\u500d\u306b\u306a\u3063\u305f\u3002\u5909\u91cf\u50be\u304d\u306e\u5165\u308c\u5fd8\u308c\u306f\u300c\u6642\u9593\u3068\u3068\u3082\u306b\u60a3\u8005\u3054\u3068\u306b\u9055\u3046\u52d5\u304d\u300d\u3092\u7121\u8996\u3059\u308b\u3053\u3068\u306a\u306e\u3067\u3001\u305d\u306e\u5f71\u97ff\u306f\u6642\u9593\u306e\u4fc2\u6570\u306e\u6a19\u6e96\u8aa4\u5dee\u306b\u8868\u308c\u308b<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">visit \u306e\u30aa\u30c3\u30ba\u6bd4\u306f1.25\u3067\u300195%\u4fe1\u983c\u533a\u9593\u306f\u901a\u5e38SE\u30671.03\u301c1.51\u3001\u30ed\u30d0\u30b9\u30c8SE\u30671.00\u301c1.56\u3068\u306a\u3063\u305f\u3002P\u5024\u306f0.023\u304b\u30890.053\u306b\u5909\u308f\u308a\u3001\u3061\u3087\u3046\u30690.05\u3092\u307e\u305f\u3044\u3060\u3002\u3053\u3053\u3067\u300c\u6709\u610f\u3067\u306a\u304f\u306a\u3063\u305f\u304b\u3089\u52b9\u679c\u306f\u306a\u3044\u300d\u3068\u8aad\u3080\u306e\u306f\u8aa4\u308a\u3067\u3042\u308b\u3002\u70b9\u63a8\u5b9a\uff081\u56de\u306e\u8a55\u4fa1\u3054\u3068\u306b\u6539\u5584\u306e\u30aa\u30c3\u30ba\u304c\u7d041.25\u500d\uff09\u306f\u540c\u3058\u3067\u3001<strong>\u305d\u306e\u4e0d\u78ba\u304b\u3055\u304c\u5f53\u521d\u306e\u898b\u7a4d\u3082\u308a\u3088\u308a\u5927\u304d\u304b\u3063\u305f<\/strong>\u3068\u3044\u3046\u306e\u304c\u6b63\u3057\u3044\u8aad\u307f\u65b9\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7b46\u8005\u304c\u540c\u3058\u8a2d\u5b9a\u3067300\u56de\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3057\u76f4\u3057\u3066\u78ba\u8a8d\u3057\u305f\u3068\u3053\u308d\u3001visit \u306e\u4fc2\u6570\u306e\u5b9f\u969b\u306e\u3070\u3089\u3064\u304d\uff08\u63a8\u5b9a\u5024\u306e\u6a19\u6e96\u504f\u5dee\uff09\u306f0.109\u3067\u3001\u901a\u5e38SE\u306e\u5e73\u5747\uff080.100\uff09\u306f\u3084\u3084\u5c0f\u3055\u304f\u3001\u30ed\u30d0\u30b9\u30c8SE\u306e\u5e73\u5747\uff080.112\uff09\u306f\u307b\u307c\u4e00\u81f4\u3057\u305f\u3002\u4eca\u56de\u306e\u4f8b\u306e\u305a\u308c\u306f\u300c1\u5272\u7a0b\u5ea6\u306e\u904e\u5c0f\u8a55\u4fa1\u300d\u3067\u3001\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u304c\u88dc\u6b63\u3057\u3066\u3044\u308b\u306e\u306f\u307e\u3055\u306b\u3053\u306e\u90e8\u5206\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5225\u30eb\u30fc\u30c8 (Step 5) \u306e\u7d50\u679c\u306e\u8aad\u307f\u65b9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>GLMMadaptive<\/strong>\uff1a\u901a\u5e38SE\u30fb\u30ed\u30d0\u30b9\u30c8SE\u3068\u3082 <code>merDeriv<\/code> \u3068\u307b\u307c\u540c\u3058\u5024\u306b\u306a\u3063\u305f\uff08visit \u306e\u30ed\u30d0\u30b9\u30c8SE\uff1a0.115 vs 0.116\uff09\u3002<code>lme4<\/code> \u306f\u30e9\u30d7\u30e9\u30b9\u8fd1\u4f3c\u3001<code>GLMMadaptive<\/code> \u306f\u9069\u5fdc\u7684\u30ac\u30a6\u30b9\u6c42\u7a4d\u3067\u5c24\u5ea6\u3092\u8a08\u7b97\u3057\u3066\u3044\u308b\u305f\u3081\u5c0f\u6570\u70b9\u4ee5\u4e0b\u306b\u308f\u305a\u304b\u306a\u5dee\u304c\u51fa\u308b\u304c\u3001\u8a08\u7b97\u624b\u9806\u305d\u306e\u3082\u306e\u306f\u6b63\u3057\u3044\u3068\u78ba\u8a8d\u3067\u304d\u308b<\/li>\n\n\n\n<li><strong>\u5909\u91cf\u50be\u304d\u3092\u5165\u308c\u305fGLMM<\/strong>\uff1avisit \u306e\u6a19\u6e96\u8aa4\u5dee\u306f0.151\u3068\u3001\u30ed\u30d0\u30b9\u30c8SE\uff080.115\uff09\u3088\u308a\u3055\u3089\u306b\u5927\u304d\u304f\u306a\u3063\u305f\u3002\u3053\u308c\u306f\u300c\u60a3\u8005\u3054\u3068\u306b\u50be\u304d\u304c\u9055\u3046\u4e2d\u3067\u306e\u5e73\u5747\u7684\u306a\u50be\u304d\u300d\u3068\u3044\u3046\u5c11\u3057\u610f\u5473\u306e\u7570\u306a\u308b\u91cf\u3092\u63a8\u5b9a\u3057\u3066\u3044\u308b\u305f\u3081\u3067\u3001\u5358\u7d14\u306a\u5927\u5c0f\u6bd4\u8f03\u306f\u3067\u304d\u306a\u3044\u3002\u305d\u308c\u3067\u3082\u3001\u30ed\u30d0\u30b9\u30c8SE\u3068\u30e2\u30c7\u30eb\u30d9\u30fc\u30b9SE\u306e\u98df\u3044\u9055\u3044\u306f<strong>\u5909\u91cf\u52b9\u679c\u306e\u69cb\u9020\u3092\u898b\u76f4\u3059\u30b5\u30a4\u30f3<\/strong>\u3068\u3057\u3066\u4f7f\u3048\u308b<\/li>\n\n\n\n<li><strong>GEE<\/strong>\uff1a\u63a8\u5b9a\u5024\u306fGLMM\u3088\u308a\u5168\u4f53\u7684\u306b0\u306b\u8fd1\u3044\uff08visit\uff1a0.222 \u2192 0.203\u3001\u6027\u5225\uff1a\u22120.419 \u2192 \u22120.383\uff09\u3002\u3053\u308c\u306f\u524d\u8ff0\u306e\u300c\u6761\u4ef6\u4ed8\u304d\u52b9\u679c\u3068\u5468\u8fba\u52b9\u679c\u306e\u9055\u3044\u300d\u306b\u3088\u308b\u3082\u306e\u3067\u3001\u3069\u3061\u3089\u304b\u304c\u8aa4\u3063\u3066\u3044\u308b\u308f\u3051\u3067\u306f\u306a\u3044\u3002GEE\u306e\u6a19\u6e96\u8aa4\u5dee\uff08visit\uff1a0.103\uff09\u306f\u6700\u521d\u304b\u3089\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3067\u8a08\u7b97\u3055\u308c\u3066\u3044\u308b<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u8ad6\u6587\u3067\u305d\u306e\u307e\u307e\u4f7f\u3048\u308b\u82f1\u6587\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ee5\u4e0b\u306e\u6570\u5024\u306f\u672c\u8a18\u4e8b\u306e\u7591\u4f3c\u30c7\u30fc\u30bf\u306b\u3088\u308b\u8a18\u8ff0\u4f8b\u3067\u3042\u308b\u3002\u5b9f\u969b\u306e\u8ad6\u6587\u3067\u306f\u3001\u81ea\u5206\u306e\u30c7\u30fc\u30bf\u306e\u7d50\u679c\u306b\u7f6e\u304d\u63db\u3048\u3066\u307b\u3057\u3044\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Methods<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">To account for within-patient correlation of repeated binary outcomes, we fitted a logistic generalized linear mixed model with a patient-specific random intercept using the lme4 package in R. Fixed effects included treatment, sex, their interaction, and visit. As a sensitivity analysis for potential misspecification of the random-effects structure, we additionally calculated cluster-robust (sandwich) standard errors clustered at the patient level using the merDeriv and sandwich packages, and compared the resulting 95% confidence intervals with the model-based ones.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\">Results<\/h3>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Robust standard errors were similar to model-based standard errors for patient-level covariates (ratio, 0.97\u20131.03). For visit, the robust standard error was approximately 18% larger than the model-based one; the odds ratio per visit was 1.25 (95% CI, 1.03\u20131.51 with model-based standard errors; 1.00\u20131.56 with robust standard errors).<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">\u30af\u30e9\u30b9\u30bf\u30fc\u6570\u304c\u5c11\u306a\u3044\u7814\u7a76\u3067\u306f\u3001Methods\u306b\u300c\u5c0f\u6a19\u672c\u88dc\u6b63\u3092\u884c\u3063\u305f\u300d\u300c\u30af\u30e9\u30b9\u30bf\u30fc\u6570\u304c\u5c11\u306a\u3044\u305f\u3081\u3001\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u306e\u7d50\u679c\u306f\u53c2\u8003\u3068\u3057\u3066\u6271\u3063\u305f\u300d\u306a\u3069\u306e\u4e00\u6587\u3092\u52a0\u3048\u308b\u3068\u3088\u3044\u3002<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u307e\u3068\u3081<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u30ed\u30d0\u30b9\u30c8\u5206\u6563\uff08\u30b5\u30f3\u30c9\u30a4\u30c3\u30c1\u5206\u6563\uff09<\/strong>\u306f\u3001\u60a3\u8005\u5358\u4f4d\u306e\u30b9\u30b3\u30a2\u306e\u5b9f\u969b\u306e\u3070\u3089\u3064\u304d\u304b\u3089\u6a19\u6e96\u8aa4\u5dee\u3092\u8a08\u7b97\u3057\u76f4\u3059\u65b9\u6cd5\u3067\u3042\u308b<\/li>\n\n\n\n<li><strong>\u5b88\u3063\u3066\u304f\u308c\u308b\u306e\u306f\u6a19\u6e96\u8aa4\u5dee\u3060\u3051<\/strong>\u3002\u63a8\u5b9a\u5024\u306f\u5909\u308f\u3089\u305a\u3001\u5e73\u5747\u69cb\u9020\u306e\u8aa4\u308a\u3084\u4ea4\u7d61\u306b\u3088\u308b\u504f\u308a\u306f\u76f4\u305b\u306a\u3044<\/li>\n\n\n\n<li>\u5909\u91cf\u52b9\u679c\u306e\u69cb\u9020\u306e\u8aa4\u6307\u5b9a\u3067\u306f\u3001<strong>\u6e2c\u5b9a\u3054\u3068\u306b\u5909\u308f\u308b\u5171\u5909\u91cf\uff08\u6642\u9593\u306a\u3069\uff09<\/strong>\u306e\u6a19\u6e96\u8aa4\u5dee\u306b\u5dee\u304c\u51fa\u3084\u3059\u3044<\/li>\n\n\n\n<li><strong>\u30af\u30e9\u30b9\u30bf\u30fc\u6570\u304c\u5c11\u306a\u3044\u3068<\/strong>\u3001\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u306f\u304b\u3048\u3063\u3066\u5c0f\u3055\u304f\u51fa\u3084\u3059\u3044<\/li>\n\n\n\n<li>R\u3067\u306f <code>sandwich::vcovCL()<\/code> \u3084 <code>clubSandwich<\/code> \u306f glmer \u306b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u3002<code>merDeriv<\/code> + <code>sandwich::sandwich()<\/code>\u3001\u307e\u305f\u306f <code>GLMMadaptive<\/code> \u306e <code>vcov(..., sandwich = TRUE)<\/code> \u3092\u4f7f\u3046<\/li>\n\n\n\n<li>\u4e3b\u89e3\u6790\u306eGLMM\u306b\u5bfe\u3059\u308b<strong>\u611f\u5ea6\u5206\u6790\uff08\u7b54\u3048\u5408\u308f\u305b\uff09<\/strong>\u3068\u3057\u3066\u4f7f\u3044\u3001\u5927\u304d\u306a\u98df\u3044\u9055\u3044\u304c\u3042\u308c\u3070\u5909\u91cf\u52b9\u679c\u306e\u69cb\u9020\u3092\u898b\u76f4\u3059<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u4e00\u62ec\u30b3\u30d4\u30da\u7528R\u30b9\u30af\u30ea\u30d7\u30c8<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># ============================================================\n# \u30ed\u30d0\u30b9\u30c8\u5206\u6563\uff08\u30b5\u30f3\u30c9\u30a4\u30c3\u30c1\u5206\u6563\uff09\u3092\u7528\u3044\u305fGLMM\n#  lme4::glmer + merDeriv + sandwich \u3067\u8a08\u7b97\u3057\u3001\n#  GLMMadaptive \u3068 geepack\uff08GEE\uff09\u3067\u7d50\u679c\u3092\u78ba\u8a8d\u3059\u308b\n# ============================================================\npkgs &lt;- c(\"lme4\", \"merDeriv\", \"sandwich\", \"GLMMadaptive\", \"geepack\", \"dplyr\")\nfor (p in pkgs) if (!requireNamespace(p, quietly = TRUE)) install.packages(p)\nlibrary(lme4)\nlibrary(merDeriv)   # glmerMod \u7528\u306e estfun() \/ bread() \u3092\u8ffd\u52a0\u3059\u308b\nlibrary(sandwich)\nlibrary(dplyr)\n\n# ------------------------------------------------------------\n# Step 1. \u7591\u4f3c\u30c7\u30fc\u30bf\u306e\u4f5c\u6210\n#  100\u4eba \u00d7 4\u56de\uff08visit = 0, 1, 2, 3\uff09\u306e2\u5024\u30a2\u30a6\u30c8\u30ab\u30e0\uff081 = \u6539\u5584\uff09\n#  \u771f\u306e\u30e2\u30c7\u30eb\u3067\u306f\u300c\u6539\u5584\u306e\u30b9\u30d4\u30fc\u30c9\u300d\u304c\u60a3\u8005\u3054\u3068\u306b\u9055\u3046\uff08\u5909\u91cf\u50be\u304d u1\uff09\n# ------------------------------------------------------------\nset.seed(123)\nn_patients &lt;- 100\nn_visits   &lt;- 4\n\npatients &lt;- data.frame(\n  patient_id = 1:n_patients,\n  treatment  = factor(sample(c(\"A\", \"B\"), n_patients, replace = TRUE), levels = c(\"A\", \"B\")),\n  sex        = factor(sample(c(\"Female\", \"Male\"), n_patients, replace = TRUE), levels = c(\"Female\", \"Male\")),\n  u0 = rnorm(n_patients, 0, 0.8),  # \u60a3\u8005\u3054\u3068\u306e\u300c\u6539\u5584\u3057\u3084\u3059\u3055\u300d\uff08\u5909\u91cf\u5207\u7247\uff09\n  u1 = rnorm(n_patients, 0, 0.6)   # \u60a3\u8005\u3054\u3068\u306e\u300c\u6539\u5584\u30b9\u30d4\u30fc\u30c9\u300d\uff08\u5909\u91cf\u50be\u304d\uff09\n)\n\ndat &lt;- expand.grid(patient_id = 1:n_patients, visit = 0:(n_visits - 1)) %&gt;%\n  left_join(patients, by = \"patient_id\") %&gt;%\n  mutate(\n    logit_p = -1 + 0.5 * (treatment == \"B\") - 0.4 * (sex == \"Male\") +\n      0.3 * (treatment == \"B\") * (sex == \"Male\") +\n      0.3 * visit + u0 + u1 * visit,\n    improvement = rbinom(n(), 1, plogis(logit_p)),\n    patient_id  = factor(patient_id)\n  ) %&gt;%\n  arrange(patient_id, visit)   # GEE\u7528\u306b\u60a3\u8005\u3054\u3068\u306b\u4e26\u3079\u3066\u304a\u304f\n\n# ------------------------------------------------------------\n# Step 2. \u3088\u304f\u4f7f\u308f\u308c\u308b\u300c\u5909\u91cf\u5207\u7247\u3060\u3051\u300d\u306eGLMM\u3092\u5f53\u3066\u306f\u3081\u308b\n#  \uff08\u771f\u306e\u69cb\u9020\u306b\u3042\u308b\u5909\u91cf\u50be\u304d\u306f\u3001\u3042\u3048\u3066\u5165\u308c\u3066\u3044\u306a\u3044\uff1d\u8aa4\u6307\u5b9a\uff09\n# ------------------------------------------------------------\nmodel_glmm &lt;- glmer(\n  improvement ~ treatment * sex + visit + (1 | patient_id),\n  data = dat, family = binomial(link = \"logit\")\n)\nsummary(model_glmm)$coefficients\n\n# ------------------------------------------------------------\n# Step 3. \u60a3\u8005\uff08\u30af\u30e9\u30b9\u30bf\u30fc\uff09\u5358\u4f4d\u306e\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u3092\u8a08\u7b97\u3059\u308b\n#  \u203b sandwich::vcovCL() \u306f glmerMod \u306b\u672a\u5bfe\u5fdc\u3067\u30a8\u30e9\u30fc\u306b\u306a\u308b\n#  \u203b clubSandwich::vcovCR() \u3082 glmerMod \u306b\u306f\u672a\u5bfe\u5fdc\n# ------------------------------------------------------------\np &lt;- length(fixef(model_glmm))\nvcov_robust_all &lt;- sandwich(model_glmm,\n                            bread = bread(model_glmm, full = TRUE),\n                            meat  = meat(model_glmm))\nvcov_robust &lt;- vcov_robust_all&#91;1:p, 1:p]   # \u56fa\u5b9a\u52b9\u679c\u306e\u90e8\u5206\u3060\u3051\u53d6\u308a\u51fa\u3059\n\nse_model  &lt;- sqrt(diag(as.matrix(vcov(model_glmm))))\nse_robust &lt;- sqrt(diag(vcov_robust))\n\n# ------------------------------------------------------------\n# Step 4. \u901a\u5e38SE\u3068\u30ed\u30d0\u30b9\u30c8SE\u3001\u30aa\u30c3\u30ba\u6bd4\u306895%\u4fe1\u983c\u533a\u9593\u3092\u6bd4\u8f03\u3059\u308b\n# ------------------------------------------------------------\nest &lt;- fixef(model_glmm)\nz   &lt;- qnorm(0.975)\ncomparison &lt;- data.frame(\n  term      = names(est),\n  estimate  = est,\n  SE_model  = se_model,\n  SE_robust = se_robust,\n  SE_ratio  = se_robust \/ se_model,\n  p_model   = 2 * pnorm(-abs(est \/ se_model)),\n  p_robust  = 2 * pnorm(-abs(est \/ se_robust)),\n  row.names = NULL\n)\nprint(comparison, digits = 3)\n\ncomparison %&gt;%\n  filter(term != \"(Intercept)\") %&gt;%\n  transmute(\n    term,\n    OR_model_CI  = sprintf(\"%.2f (%.2f-%.2f)\", exp(estimate),\n                           exp(estimate - z * SE_model),  exp(estimate + z * SE_model)),\n    OR_robust_CI = sprintf(\"%.2f (%.2f-%.2f)\", exp(estimate),\n                           exp(estimate - z * SE_robust), exp(estimate + z * SE_robust))\n  )\n\n# ------------------------------------------------------------\n# Step 5. \u5225\u30eb\u30fc\u30c8\u3067\u78ba\u8a8d\u3059\u308b\n#  (a) GLMMadaptive\uff1avcov(..., sandwich = TRUE) \u3067\u76f4\u63a5\u8a08\u7b97\u3067\u304d\u308b\n#  (b) \u5909\u91cf\u50be\u304d\u3082\u5165\u308c\u305fGLMM\uff08\u69cb\u9020\u3092\u6b63\u3057\u304f\u6307\u5b9a\u3057\u305f\u5834\u5408\uff09\n#  (c) GEE\uff1a\u5468\u8fba\uff08\u96c6\u56e3\u5e73\u5747\uff09\u30e2\u30c7\u30eb\u3002\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u304c\u6a19\u6e96\n# ------------------------------------------------------------\nlibrary(GLMMadaptive)\nmodel_ga &lt;- mixed_model(improvement ~ treatment * sex + visit,\n                        random = ~ 1 | patient_id,\n                        data = dat, family = binomial())\ncbind(estimate  = fixef(model_ga),\n      SE_model  = sqrt(diag(vcov(model_ga)))&#91;1:p],\n      SE_robust = sqrt(diag(vcov(model_ga, sandwich = TRUE)))&#91;1:p])\n\nmodel_slope &lt;- glmer(\n  improvement ~ treatment * sex + visit + (1 + visit | patient_id),\n  data = dat, family = binomial(link = \"logit\")\n)\ncbind(estimate = fixef(model_slope),\n      SE_model = sqrt(diag(as.matrix(vcov(model_slope)))))\n\nlibrary(geepack)\nmodel_gee &lt;- geeglm(improvement ~ treatment * sex + visit,\n                    id = patient_id, data = dat,\n                    family = binomial, corstr = \"exchangeable\")\nsummary(model_gee)$coefficients<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u304a\u3059\u3059\u3081\u66f8\u7c4d<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u4e45\u4fdd\u62d3\u5f25\u300e\u30c7\u30fc\u30bf\u89e3\u6790\u306e\u305f\u3081\u306e\u7d71\u8a08\u30e2\u30c7\u30ea\u30f3\u30b0\u5165\u9580\u2015\u2015\u4e00\u822c\u5316\u7dda\u5f62\u30e2\u30c7\u30eb\u30fb\u968e\u5c64\u30d9\u30a4\u30ba\u30e2\u30c7\u30eb\u30fbMCMC\u300f\u5ca9\u6ce2\u66f8\u5e97, 2012. GLM\u304b\u3089GLMM\u3078\u306e\u8003\u3048\u65b9\u3092\u3001R\u306e\u4f8b\u3068\u3068\u3082\u306b\u76f4\u611f\u7684\u306b\u5b66\u3079\u308b\u5b9a\u756a\u66f8\u3002 <a href=\"https:\/\/link.amazon\/B03IGRF0i\" target=\"_blank\" rel=\"noopener\">Amazon\u3067\u898b\u308b<\/a><\/li>\n\n\n\n<li>\u4e39\u5f8c\u4fca\u90ce\u300e\u7d4c\u6642\u7684\u7e70\u308a\u8fd4\u3057\u6e2c\u5b9a\u30c7\u30b6\u30a4\u30f3\u2015\u6cbb\u7642\u52b9\u679c\u3092\u8a55\u4fa1\u3059\u308b\u6df7\u5408\u52b9\u679c\u30e2\u30c7\u30eb\u3068\u305d\u306e\u5468\u8fba\u2015\u300f\uff08\u533b\u5b66\u7d71\u8a08\u5b66\u30b7\u30ea\u30fc\u30ba\uff09\u671d\u5009\u66f8\u5e97, 2015. \u81e8\u5e8a\u8a66\u9a13\u306e\u53cd\u5fa9\u6e2c\u5b9a\u30c7\u30fc\u30bf\u3092\u6df7\u5408\u52b9\u679c\u30e2\u30c7\u30eb\u3067\u89e3\u6790\u3059\u308b\u8003\u3048\u65b9\u3092\u533b\u5b66\u7d71\u8a08\u306e\u7acb\u5834\u304b\u3089\u89e3\u8aac\u3002 <a href=\"https:\/\/link.amazon\/B06cxRYAI\" target=\"_blank\" rel=\"noopener\">Amazon\u3067\u898b\u308b<\/a><\/li>\n\n\n\n<li>Fitzmaurice GM, Laird NM, Ware JH. Applied Longitudinal Analysis. 2nd ed. Wiley; 2011. GLMM\u3068GEE\uff08\u6761\u4ef6\u4ed8\u304d\u52b9\u679c\u3068\u5468\u8fba\u52b9\u679c\uff09\u306e\u9055\u3044\u3001\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u306e\u4f7f\u3044\u3069\u3053\u308d\u3092\u4e01\u5be7\u306b\u6271\u3046\u7e26\u65ad\u30c7\u30fc\u30bf\u89e3\u6790\u306e\u6a19\u6e96\u7684\u6559\u79d1\u66f8\u3002 <a href=\"https:\/\/link.amazon\/B0fZIi7SX\" target=\"_blank\" rel=\"noopener\">Amazon\u3067\u898b\u308b<\/a><\/li>\n\n\n\n<li>Diggle P, Heagerty P, Liang KY, Zeger S. Analysis of Longitudinal Data. 2nd ed. Oxford University Press; 2002\uff08\u30da\u30fc\u30d1\u30fc\u30d0\u30c3\u30af\u7248 2013\uff09. GEE\u306e\u63d0\u5531\u8005\u3089\u306b\u3088\u308b\u53e4\u5178\u3002\u30b5\u30f3\u30c9\u30a4\u30c3\u30c1\u5206\u6563\u306e\u7406\u8ad6\u7684\u80cc\u666f\u3092\u6df1\u304f\u77e5\u308a\u305f\u3044\u4eba\u5411\u3051\u3002 <a href=\"https:\/\/link.amazon\/B01qOd93J\" target=\"_blank\" rel=\"noopener\">Amazon\u3067\u898b\u308b<\/a><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">\u53c2\u8003\u6587\u732e<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>White H. A heteroskedasticity-consistent covariance matrix estimator and a direct test for heteroskedasticity. Econometrica. 1980;48(4):817\u2013838. <a href=\"https:\/\/doi.org\/10.2307\/1912934\">https:\/\/doi.org\/10.2307\/1912934<\/a><\/li>\n\n\n\n<li>White H. Maximum likelihood estimation of misspecified models. Econometrica. 1982;50(1):1\u201325. <a href=\"https:\/\/doi.org\/10.2307\/1912526\">https:\/\/doi.org\/10.2307\/1912526<\/a><\/li>\n\n\n\n<li>Liang KY, Zeger SL. Longitudinal data analysis using generalized linear models. Biometrika. 1986;73(1):13\u201322. <a href=\"https:\/\/doi.org\/10.2307\/2336267\">https:\/\/doi.org\/10.2307\/2336267<\/a><\/li>\n\n\n\n<li>Mancl LA, DeRouen TA. A covariance estimator for GEE with improved small-sample properties. Biometrics. 2001;57(1):126\u2013134. <a href=\"https:\/\/doi.org\/10.1111\/j.0006-341x.2001.00126.x\" target=\"_blank\" rel=\"noopener\">10.1111\/j.0006-341x.2001.00126.x<\/a><\/li>\n\n\n\n<li>McCulloch CE, Neuhaus JM. Misspecifying the shape of a random effects distribution: why getting it wrong may not matter. Statistical Science. 2011;26(3):388\u2013402. <a href=\"https:\/\/doi.org\/10.1214\/11-STS361\">https:\/\/doi.org\/10.1214\/11-STS361<\/a><\/li>\n\n\n\n<li>Wang T, Graves B, Rosseel Y, Merkle EC. Computation and application of generalized linear mixed model derivatives using lme4. Psychometrika. 2022;87(3):1173\u20131193. <a href=\"https:\/\/doi.org\/10.1007\/s11336-022-09840-2\">https:\/\/doi.org\/10.1007\/s11336-022-09840-2<\/a><\/li>\n\n\n\n<li>Bates D, M\u00e4chler M, Bolker B, Walker S. Fitting linear mixed-effects models using lme4. Journal of Statistical Software. 2015;67(1):1\u201348. <a href=\"https:\/\/ideas.repec.org\/a\/jss\/jstsof\/v067i01.html\">https:\/\/ideas.repec.org\/a\/jss\/jstsof\/v067i01.html<\/a><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7814\u7a76\u8005: \u53cd\u5fa9\u6e2c\u5b9a\u306e2\u5024\u30c7\u30fc\u30bf\u3067GLMM\uff08glmer\uff09\u3092\u5f53\u3066\u306f\u3081\u307e\u3057\u305f\u3002\u67fb\u8aad\u5bfe\u7b56\u306b\u300c\u30ed\u30d0\u30b9\u30c8\u5206\u6563\u300d\u3082\u51fa\u3057\u3066\u304a\u3053\u3046\u3068\u601d\u3063\u3066 sandwich::vcovCL() \u3092\u4f7f\u3063\u305f\u3089\u3001\u30a8\u30e9\u30fc\u3067\u6b62\u307e\u3063\u3066\u3057\u307e\u3044\u307e\u3057\u305f\u2026\u2026\u3002\u305d\u3082\u305d\u3082\u3001\u30ed\u30d0 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[44],"tags":[],"class_list":["post-4362","post","type-post","status-publish","format-standard","hentry","category-44"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/posts\/4362","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/comments?post=4362"}],"version-history":[{"count":13,"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/posts\/4362\/revisions"}],"predecessor-version":[{"id":4987,"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/posts\/4362\/revisions\/4987"}],"wp:attachment":[{"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/media?parent=4362"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/categories?post=4362"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/tags?post=4362"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}