{"id":4658,"date":"2026-08-07T08:07:22","date_gmt":"2026-08-06T23:07:22","guid":{"rendered":"https:\/\/best-biostatistics.com\/toukei-er\/?p=4658"},"modified":"2026-08-07T08:07:23","modified_gmt":"2026-08-06T23:07:23","slug":"peer-review-ready-iptw-analysis-checking-weight-distributions-and-generating-boxplots-in-r-2","status":"publish","type":"post","link":"https:\/\/best-biostatistics.com\/toukei-er\/entry\/peer-review-ready-iptw-analysis-checking-weight-distributions-and-generating-boxplots-in-r-2\/","title":{"rendered":"\u67fb\u8aad\u8005\uff08Reviewer\uff09\u306e\u30c4\u30c3\u30b3\u30df\u3092\u672a\u7136\u306b\u9632\u3050\uff01IPTW\u89e3\u6790\u306b\u304a\u3051\u308b\u91cd\u307f\u5206\u5e03\u306e\u78ba\u8a8d\u3068\u7bb1\u3072\u3052\u56f3\uff08Boxplot\uff09\u306e\u63cf\u304d\u65b9"},"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>: \u50be\u5411\u30b9\u30b3\u30a2\u9006\u78ba\u7387\u91cd\u307f\u4ed8\u3051\uff08IPTW\uff09\u89e3\u6790\u3092\u884c\u3063\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u67fb\u8aad\u8005\u3084\u6307\u5c0e\u533b\u304b\u3089\u300c\u91cd\u307f\u306e\u5206\u5e03\u3092\u7bb1\u3072\u3052\u56f3\uff08Boxplot\uff09\u3067\u78ba\u8a8d\u3057\u305f\u304b\uff1f\u300d\u3068\u805e\u304b\u308c\u307e\u3057\u305f\u3002\u306a\u305c\u7bb1\u3072\u3052\u56f3\u304c\u5fc5\u8981\u3067\u3001\u3069\u3046\u63cf\u3044\u3066\u5916\u308c\u5024\u3092\u51e6\u7f6e\u3059\u308c\u3070\u3044\u3044\u306e\u3067\u3057\u3087\u3046\u304b\u2026\u2026\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>: IPTW\u306f\u305f\u3063\u305f1\u301c2\u4f8b\u306e\u300c\u6975\u7aef\u306b\u5927\u304d\u306a\u91cd\u307f\u300d\u306b\u3088\u3063\u3066\u7d50\u679c\u5168\u4f53\u304c\u6b6a\u3080\u30ea\u30b9\u30af\u304c\u3042\u308a\u307e\u3059\uff01\u7bb1\u3072\u3052\u56f3\u3092\u63cf\u304f\u3053\u3068\u3067\u91cd\u307f\u306e\u7570\u5e38\uff08\u5916\u308c\u5024\uff09\u3092\u4e00\u76ee\u3067\u767a\u898b\u3067\u304d\u307e\u3059\u3088\u3002<code>ggplot2<\/code> \u3092\u4f7f\u3048\u3070\u30a8\u30e9\u30fc\u306a\u304f\u78ba\u5b9f\u3067\u7f8e\u3057\u3044\u30d7\u30ed\u30c3\u30c8\u304c\u51fa\u529b\u3067\u304d\u3001<code>summary(W)<\/code> \u3067\u6570\u5024\u3092\u78ba\u8a8d\u3057\u3066\u304b\u3089 <code>WeightIt::trim()<\/code> \u3067\u30c8\u30ea\u30df\u30f3\u30b0\u51e6\u7f6e\u3092\u884c\u3046\u306e\u304c\u9244\u677f\u306e\u30d5\u30ed\u30fc\u3067\u3059\u3002\u3055\u3063\u305d\u304f\u624b\u9806\u3092\u89e3\u8aac\u3057\u307e\u3057\u3087\u3046\uff01<\/p>\n<\/blockquote>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">\u50be\u5411\u30b9\u30b3\u30a2\u3092\u7528\u3044\u305f\u9006\u78ba\u7387\u91cd\u307f\u4ed8\u3051\uff08IPTW: Inverse Probability of Treatment Weighting\uff09\u89e3\u6790\u3092\u5b9f\u65bd\u3059\u308b\u969b\u3001\u6307\u5c0e\u533b\u3084\u8ad6\u6587\u306e\u67fb\u8aad\u8005\uff08Reviewer\uff09\u304b\u3089\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u6307\u6458\u3092\u53d7\u3051\u305f\u3053\u3068\u306f\u306a\u3044\u3060\u308d\u3046\u304b\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u300c\u7b97\u51fa\u3057\u305f\u91cd\u307f\uff08Weights\uff09\u306e\u5206\u5e03\u3092\u7bb1\u3072\u3052\u56f3\uff08Boxplot\uff09\u3067\u78ba\u8a8d\u3057\u305f\u304b\uff1f\u300d<\/li>\n\n\n\n<li>\u300c\u6975\u7aef\u306b\u5927\u304d\u306a\u91cd\u307f\uff08Extreme Weights \/ \u5916\u308c\u5024\uff09\u3092\u6301\u3064\u75c7\u4f8b\u304c\u5b58\u5728\u3057\u306a\u3044\u304b\uff1f\u300d<\/li>\n\n\n\n<li>\u300c\u91cd\u307f\u4ed8\u3051\u306b\u3088\u3063\u3066\u3001\u8abf\u6574\u524d\u306e\u80cc\u666f\u56e0\u5b50\uff08\u5e74\u9f62\u3084\u691c\u67fb\u5024\u306a\u3069\uff09\u306e\u5206\u5e03\u306f\u3069\u306e\u3088\u3046\u306b\u5909\u5316\u3057\u305f\u304b\uff1f\u300d<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">IPTW\u89e3\u6790\u306f\u4ea4\u7d61\u8abf\u6574\u306e\u5f37\u529b\u306a\u624b\u6cd5\u3060\u304c\u3001\u88cf\u5074\u3067\u300c\u91cd\u307f\u306e\u5de8\u5927\u5316\u300d\u304c\u8d77\u304d\u3066\u3044\u308b\u3068\u3001\u305f\u3063\u305f1\u301c2\u4f8b\u306e\u6975\u7aef\u306a\u75c7\u4f8b\u306b\u3088\u3063\u3066\u30aa\u30c3\u30ba\u6bd4\u3084\u30cf\u30b6\u30fc\u30c9\u6bd4\u304c\u5927\u304d\u304f\u6b6a\u3093\u3067\u3057\u307e\u3046\u8106\u3055\u3092\u6301\u3063\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u554f\u984c\u3092\u4e8b\u524d\u306b\u767a\u898b\u3057\u3001\u89e3\u6790\u306e\u5065\u5168\u6027\u3092\u62c5\u4fdd\u3059\u308b\u305f\u3081\u306b\u4e0d\u53ef\u6b20\u306a\u306e\u304c\u300c\u7bb1\u3072\u3052\u56f3\u306b\u3088\u308b\u30d3\u30b8\u30e5\u30a2\u30eb\u78ba\u8a8d\u300d\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u8a18\u4e8b\u3067\u306f\u3001<code>WeightIt<\/code> \u3084 <code>ggplot2<\/code> \u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u6d3b\u7528\u3057\u3001<strong>\u91cd\u307f\u306e\u5916\u308c\u5024\u30c1\u30a7\u30c3\u30af\u304b\u3089\u9023\u7d9a\u5171\u5909\u91cf\u306e\u30d0\u30e9\u30f3\u30b9\u78ba\u8a8d\u3001\u5916\u308c\u5024\u304c\u898b\u3064\u304b\u3063\u305f\u969b\u306e\u30c8\u30ea\u30df\u30f3\u30b0\uff08Trimming\uff09\u51e6\u7406\u307e\u3067<\/strong>\u3092R\u3067\u30b9\u30de\u30fc\u30c8\u306b\u5b8c\u7d50\u3055\u305b\u308b\u624b\u9806\u3092\u89e3\u8aac\u3059\u308b\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">IPTW\u89e3\u6790\u3067\u7bb1\u3072\u3052\u56f3\u3092\u63cf\u304f\u3079\u304d\u300c2\u3064\u306e\u6c7a\u5b9a\u7684\u306a\u7406\u7531\u300d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">IPTW\u89e3\u6790\u306b\u304a\u3044\u3066\u7bb1\u3072\u3052\u56f3\u3092\u4f7f\u7528\u3059\u308b\u76ee\u7684\u306f\u3001\u5927\u304d\u304f\u5206\u3051\u3066\u4ee5\u4e0b\u306e2\u70b9\u306b\u96c6\u7d04\u3055\u308c\u308b\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. \u7b97\u51fa\u3057\u305f\u300c\u91cd\u307f\uff08Weights\uff09\u300d\u306e\u5206\u5e03\u3068\u6975\u7aef\u5024\uff08Extreme Weights\uff09\u306e\u78ba\u8a8d<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">IPTW\u306b\u304a\u3051\u308b\u91cd\u307f $w_i$ \u306f\u3001\u50be\u5411\u30b9\u30b3\u30a2 $e_i$ \u306e\u9006\u6570\uff08$1 \/ e_i$ \u3084 $1 \/ (1 &#8211; e_i)$\uff09\u3068\u3057\u3066\u8a08\u7b97\u3055\u308c\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3082\u3057\u50be\u5411\u30b9\u30b3\u30a2\u304c 0 \u3084 1 \u306b\u6975\u3081\u3066\u8fd1\u3044\u75c7\u4f8b\uff08\u4f8b: $e_i = 0.005$\uff09\u304c\u5b58\u5728\u3059\u308b\u3068\u3001\u305d\u306e\u91cd\u307f\u306f $1 \/ 0.005 = 200$ \u3068\u5de8\u5927\u5316\u3057\u3066\u3057\u307e\u3046\u3002\u3053\u306e\u3088\u3046\u306a\u300c\u5de8\u5927\u306a\u91cd\u307f\u3092\u6301\u3064\u75c7\u4f8b\u300d\u304c\u5b58\u5728\u3059\u308b\u3068\u3001\u305d\u306e1\u4f8b\u306e\u30c7\u30fc\u30bf\u304c\u89e3\u6790\u7d50\u679c\u5168\u4f53\u3092\u652f\u914d\u3057\u3066\u3057\u307e\u3044\u3001\u63a8\u5b9a\u91cf\u306e\u5206\u6563\uff08\u6a19\u6e96\u8aa4\u5dee\uff09\u304c\u98db\u8e8d\u7684\u306b\u5897\u5927\u3059\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u7bb1\u3072\u3052\u56f3\u3092\u63cf\u304f\u3053\u3068\u3067\u3001<strong>\u3072\u3052\u306e\u5148\u304b\u3089\u5927\u304d\u304f\u98db\u3073\u51fa\u3057\u305f\u70b9\uff08\u5916\u308c\u5024\uff09\u306e\u6709\u7121\u3084\u3001\u91cd\u307f\u306e\u4e2d\u592e\u5024\u30fb\u5206\u5e03\u306e\u5e83\u304c\u308a\u304c\u4e00\u76ee\u3067\u30c1\u30a7\u30c3\u30af\u3067\u304d\u308b\u3002<\/strong><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. \u8abf\u6574\u524d\u5f8c\uff08Unadjusted vs Adjusted\uff09\u3067\u306e\u300c\u5171\u5909\u91cf\u30d0\u30e9\u30f3\u30b9\u300d\u306e\u8996\u899a\u7684\u78ba\u8a8d<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e00\u822c\u306b\u4ea4\u7d61\u30d0\u30e9\u30f3\u30b9\u306e\u78ba\u8a8d\u306b\u306f\u300c\u6a19\u6e96\u5316\u5e73\u5747\u5dee\uff08SMD\uff09\u300d\u3092\u4e26\u3079\u305f\u30e9\u30d6\u30d7\u30ed\u30c3\u30c8\uff08Love Plot\uff09\u304c\u4f7f\u308f\u308c\u308b\u3002\u3057\u304b\u3057\u3001SMD\u306f\u3042\u304f\u307e\u3067\u300c\u5e73\u5747\u5024\u306e\u5dee\u300d\u3057\u304b\u898b\u3066\u3044\u306a\u3044\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9023\u7d9a\u5909\u6570\uff08\u4f8b: \u5e74\u9f62\u3001BMI\u3001CRP\u5024\u306a\u3069\uff09\u306b\u3064\u3044\u3066\u91cd\u307f\u4ed8\u3051\u524d\u5f8c\u306e\u7bb1\u3072\u3052\u56f3\u3092\u63cf\u304f\u3053\u3068\u3067\u3001\u300c\u5e73\u5747\u5024\u3060\u3051\u3067\u306a\u304f\u3001\u4e2d\u592e\u5024\u3084\u56db\u5206\u4f4d\u7bc4\u56f2\uff08IQR\uff09\u3001\u30c7\u30fc\u30bf\u306e\u5e83\u304c\u308a\u5168\u4f53\u304c\u7fa4\u9593\u3067\u7dba\u9e97\u306b\u63c3\u3063\u305f\u304b\u300d\u3092\u3088\u308a\u53b3\u5bc6\u306b\u5b9f\u8a3c\u3059\u308b\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308b\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u78ba\u5b9f\u304b\u3064\u7f8e\u9e97\uff01<code>ggplot2<\/code> \u3067\u7bb1\u3072\u3052\u56f3\u3092\u63cf\u304f\u5b9f\u8df5\u30d5\u30ed\u30fc<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">R\u3067\u30a8\u30e9\u30fc\u3092\u8d77\u3053\u3055\u305a\u3001\u304b\u3064\u8ad6\u6587\u3084\u5831\u544a\u66f8\u5411\u3051\u306b\u7f8e\u3057\u304f\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u304d\u308b\u624b\u6cd5\u304c\u3001<strong><code>ggplot2<\/code> \u306e <code>geom_boxplot()<\/code><\/strong> \u3092\u4f7f\u7528\u3059\u308b\u65b9\u6cd5\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3042\u3089\u304b\u3058\u3081\u5fc5\u8981\u306a\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30fb\u8aad\u307f\u8fbc\u3093\u3067\u304a\u3053\u3046\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>library(tidyverse)\nlibrary(WeightIt)\nlibrary(patchwork) # \u30b0\u30e9\u30d5\u3092\u5de6\u53f3\u306b\u4e26\u3079\u308b\u7528\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: \u30b5\u30f3\u30d7\u30eb\u30c7\u30fc\u30bf\u306e\u4f5c\u6210\u3068IPTW\u91cd\u307f\u306e\u8a08\u7b97<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305a\u306f\u52d5\u4f5c\u78ba\u8a8d\u7528\u306e\u30b5\u30f3\u30d7\u30eb\u30c7\u30fc\u30bf\u3092\u4f5c\u6210\u3057\u3001<code>WeightIt<\/code> \u3067\u91cd\u307f\u3092\u8a08\u7b97\u3059\u308b\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u30b5\u30f3\u30d7\u30eb\u30c7\u30fc\u30bf\u306e\u4f5c\u6210\nset.seed(123)\nn &lt;- 300\ndf_raw &lt;- tibble(\n  treat = sample(c(0, 1), n, replace = TRUE, prob = c(0.6, 0.4)),\n  age   = rnorm(n, mean = 65, sd = 10),\n  bmi   = rnorm(n, mean = 24, sd = 4)\n)\n\n# IPTW\u91cd\u307f\u306e\u8a08\u7b97\nW &lt;- weightit(treat ~ age + bmi, data = df_raw, method = \"glm\", estimand = \"ATE\")\n\n# \u91cd\u307f\u3068\u6cbb\u7642\u5909\u6570\u3092\u5143\u306e\u30c7\u30fc\u30bf\u30d5\u30ec\u30fc\u30e0\u306b\u7d50\u5408\ndf_plot &lt;- df_raw %&gt;% \n  mutate(\n    weight = W$weights,\n    treat  = factor(treat) # \u30b0\u30e9\u30d5\u63cf\u753b\u7528\u306bFactor\u5316\n  )\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Step 2: \u91cd\u307f\uff08Weights\uff09\u306e\u7bb1\u3072\u3052\u56f3\u30c1\u30a7\u30c3\u30af<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f5c\u6210\u3057\u305f\u30c7\u30fc\u30bf\u3092\u7528\u3044\u3066\u3001\u6cbb\u7642\u7fa4\u3054\u3068\u306e\u91cd\u307f\u306e\u5206\u5e03\u3092\u7bb1\u3072\u3052\u56f3\u3068\u3057\u3066\u51fa\u529b\u3059\u308b\u3002\u30c7\u30fc\u30bf\u306e\u5b9f\u969b\u306e\u6563\u3089\u3070\u308a\u3082\u53ef\u8996\u5316\u3059\u308b\u305f\u3081\u3001\u30c9\u30c3\u30c8\u30d7\u30ed\u30c3\u30c8\uff08<code>geom_jitter<\/code>\uff09\u3082\u91cd\u306d\u3066\u63cf\u5199\u3059\u308b\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># 1. \u91cd\u307f\u81ea\u4f53\u306e\u5206\u5e03\u3092\u7bb1\u3072\u3052\u56f3\u3067\u78ba\u8a8d\nggplot(df_plot, aes(x = treat, y = weight, fill = treat)) +\n  geom_boxplot(alpha = 0.7, outlier.color = \"red\", outlier.size = 2) + \n  geom_jitter(width = 0.1, alpha = 0.2) + \n  labs(\n    title = \"Distribution of IPTW Weights by Treatment Group\",\n    x     = \"Treatment Group\",\n    y     = \"Inverse Probability Weight\"\n  ) +\n  theme_minimal()\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u3072\u3052\u306e\u5148\u304b\u3089\u8d64\u8272\u3067\u793a\u3055\u308c\u305f\u300c\u5916\u308c\u5024\u300d\u304c\u3069\u308c\u307b\u3069\u7a81\u51fa\u3057\u3066\u3044\u308b\u304b\u3092\u8996\u899a\u7684\u306b\u78ba\u8a8d\u3059\u308b\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"575\" height=\"490\" src=\"https:\/\/best-biostatistics.com\/toukei-er\/wp-content\/uploads\/2026\/08\/image-2.png\" alt=\"\" class=\"wp-image-4662\" srcset=\"https:\/\/best-biostatistics.com\/toukei-er\/wp-content\/uploads\/2026\/08\/image-2.png 575w, https:\/\/best-biostatistics.com\/toukei-er\/wp-content\/uploads\/2026\/08\/image-2-300x256.png 300w\" sizes=\"(max-width: 575px) 100vw, 575px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: <code>summary(W)<\/code> \u306b\u3088\u308b\u91cd\u307f\u306e\u6570\u5024\u30c1\u30a7\u30c3\u30af<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c8\u30ea\u30df\u30f3\u30b0\uff08\u526a\u5b9a\uff09\u3092\u884c\u3046\u524d\u306b\u3001\u5ba2\u89b3\u7684\u306a\u6570\u5024\u57fa\u6e96\u3092\u78ba\u8a8d\u3059\u308b\u3002<code>WeightIt<\/code> \u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b\u5bfe\u3057\u3066 <strong><code>summary()<\/code> \u95a2\u6570\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001\u91cd\u307f\u306e\u6700\u5c0f\u5024\u30fb\u4e2d\u592e\u5024\u30fb\u6700\u5927\u5024\u3084\u3001\u4e0a\u4f4d\u30d1\u30fc\u30bb\u30f3\u30bf\u30a4\u30eb\u306e\u6570\u5024\u3092\u4e00\u62ec\u3067\u78ba\u8a8d\u3067\u304d\u308b\u3002<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u91cd\u307f\u306e\u7d71\u8a08\u91cf\u3092\u6570\u5024\u3067\u8a73\u7d30\u78ba\u8a8d\nsummary(W)\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u78ba\u8a8d\u306e\u30dd\u30a4\u30f3\u30c8<\/strong>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u51fa\u529b\u5185\u306e <code>Summary of weights:<\/code> \u30bb\u30af\u30b7\u30e7\u30f3\u306b\u3042\u308b <code>Max<\/code>\uff08\u6700\u5927\u5024\uff09\u3092\u78ba\u8a8d\u3059\u308b\u3002\u3053\u3053\u304c\u300c20\u300d\u3084\u300c50\u300d\u306a\u3069\u6975\u7aef\u306b\u5927\u304d\u3044\u6570\u5024\u306b\u306a\u3063\u3066\u3044\u308b\u5834\u5408\u3001\u305f\u3063\u305f1\u3064\u306e\u75c7\u4f8b\u304c\u89e3\u6790\u7d50\u679c\u5168\u4f53\u3092\u6b6a\u3081\u3066\u3044\u308b\u30ea\u30b9\u30af\u304c\u9ad8\u3044\u3068\u5224\u65ad\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 4: \u5916\u308c\u5024\u304c\u5b58\u5728\u3059\u308b\u5834\u5408\u306e\u30c8\u30ea\u30df\u30f3\u30b0\u51e6\u7406\uff08<code>WeightIt::trim<\/code>\uff09<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><code>summary(W)<\/code> \u3067\u5de8\u5927\u306a\u6700\u5927\u5024\u3092\u78ba\u8a8d\u3057\u305f\u5834\u5408\u3001<strong>\u91cd\u307f\u306e\u30c8\u30ea\u30df\u30f3\u30b0\uff08Trimming \/ Truncation\uff09<\/strong> \u3092\u884c\u3046\u3002<code>WeightIt<\/code> \u306e <code>trim()<\/code> \u95a2\u6570\u3092\u4f7f\u3044\u3001\u4e0a\u4f4d1%\uff0899\u30d1\u30fc\u30bb\u30f3\u30bf\u30a4\u30eb\uff09\u3092\u8d85\u3048\u308b\u5de8\u5927\u306a\u91cd\u307f\u3092\u4e0a\u9650\u5024\u3078\u30af\u30ea\u30c3\u30d4\u30f3\u30b0\u3059\u308b\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u91cd\u307f\u306e\u4e0a\u4f4d 1%\uff0899\u30d1\u30fc\u30bb\u30f3\u30bf\u30a4\u30eb\uff09\u3067\u30c8\u30ea\u30df\u30f3\u30b0\u3092\u5b9f\u884c\nW_trimmed &lt;- trim(W, at = 0.99)\n\n# \u30c8\u30ea\u30df\u30f3\u30b0\u5f8c\u306e\u30c7\u30fc\u30bf\u3092\u518d\u7d50\u5408\ndf_plot_trimmed &lt;- df_raw %>% \n  mutate(\n    weight = W_trimmed$weights,\n    treat  = factor(treat)\n  )\n\n# \u30c8\u30ea\u30df\u30f3\u30b0\u5f8c\u306e\u91cd\u307f\u306e\u7bb1\u3072\u3052\u56f3\u3092\u518d\u63cf\u753b\u3057\u3066\u78ba\u8a8d\nggplot(df_plot_trimmed, aes(x = treat, y = weight, fill = treat)) +\n  geom_boxplot(alpha = 0.7, outlier.color = \"red\") + \n  labs(title = \"Trimmed IPTW Weights\", x = \"Treatment Group\", y = \"Weights\") +\n  theme_minimal()\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c8\u30ea\u30df\u30f3\u30b0\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u3067\u5de8\u5927\u3059\u304e\u305f\u91cd\u307f\u304c\u6291\u5236\u3055\u308c\u3001\u7bb1\u3072\u3052\u56f3\u4e0a\u306e\u6975\u7aef\u306a\u5916\u308c\u5024\u304c\u89e3\u6d88\u3055\u308c\u308b\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Step 5: \u9023\u7d9a\u5171\u5909\u91cf\uff08\u5e74\u9f62\u306a\u3069\uff09\u306e\u8abf\u6574\u524d\u5f8c\u30d0\u30e9\u30f3\u30b9\u3092\u7bb1\u3072\u3052\u56f3\u3067\u6bd4\u8f03\u3059\u308b<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c8\u30ea\u30df\u30f3\u30b0\u3092\u7d42\u3048\u305f\u7dba\u9e97\u306a\u91cd\u307f\uff08<code>weight<\/code>\uff09\u3092\u4f7f\u3063\u3066\u3001\u7279\u5b9a\u306e\u5171\u5909\u91cf\uff08\u4f8b: <code>age<\/code>\uff09\u306e\u5206\u5e03\u304c\u91cd\u307f\u4ed8\u3051\u306b\u3088\u3063\u3066\u3069\u3046\u63c3\u3063\u305f\u304b\u3092\u78ba\u8a8d\u3059\u308b\u3002<code>ggplot2<\/code> \u306e\u7bb1\u3072\u3052\u56f3\u3067\u306f <code>weight = weight<\/code> \u5f15\u6570\u3092\u6e21\u3059\u3053\u3068\u3067\u8abf\u6574\u5f8c\u306e\u5206\u5e03\u3092\u63cf\u5199\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u8abf\u6574\u524d\uff08Unadjusted\uff09\u306e\u7bb1\u3072\u3052\u56f3\np_unadj &lt;- ggplot(df_plot_trimmed, aes(x = treat, y = age, fill = treat)) +\n  geom_boxplot(alpha = 0.6) +\n  labs(title = \"Unadjusted (Age)\", x = \"Group\", y = \"Age\") +\n  theme_minimal() + theme(legend.position = \"none\")\n\n# \u8abf\u6574\u5f8c\uff08IPTW Adjusted\uff09\u306e\u7bb1\u3072\u3052\u56f3\uff08weight\u5f15\u6570\u3092\u6307\u5b9a\uff09\np_adj &lt;- ggplot(df_plot_trimmed, aes(x = treat, y = age, fill = treat, weight = weight)) +\n  geom_boxplot(alpha = 0.6) +\n  labs(title = \"IPTW Adjusted (Age)\", x = \"Group\", y = \"Age\") +\n  theme_minimal() + theme(legend.position = \"none\")\n\n# patchwork \u30d1\u30c3\u30b1\u30fc\u30b8\u3067\u5de6\u53f3\u306b\u4e26\u3079\u3066\u8868\u793a\np_unadj + p_adj\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u300c\u8abf\u6574\u524d\uff08\u5de6\uff09\u306e\u7fa4\u9593\u5dee\u300d\u3068\u300c\u8abf\u6574\u5f8c\uff08\u53f3\uff09\u306b\u5206\u5e03\u306e\u4e2d\u592e\u5024\u3084\u5e83\u304c\u308a\u304c\u7dba\u9e97\u306b\u91cd\u306a\u308a\u5408\u3063\u305f\u69d8\u5b50\u300d\u3092\u5de6\u53f3\u306b\u4e26\u3079\u308b\u3053\u3068\u3067\u3001\u80cc\u666f\u56e0\u5b50\u306e\u8abf\u6574\u30d7\u30ed\u30bb\u30b9\u3092\u8996\u899a\u7684\u30fb\u8aac\u5f97\u529b\u3092\u3082\u3063\u3066\u8ad6\u6587\u306e\u4ed8\u9332\u7b49\u3067\u30a2\u30d4\u30fc\u30eb\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<div id=\"biost-1949414733\" class=\"biost- biost-entity-placement\"><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\">\u3010\u307e\u3068\u3081\u3011\u30b3\u30d4\u30da\u3067\u52d5\u304f\uff01\u91cd\u307f\u78ba\u8a8d\u304b\u3089\u30c8\u30ea\u30df\u30f3\u30b0\u30fb\u7bb1\u3072\u3052\u56f3\u63cf\u753b\u306e\u4e00\u62ec\u30b3\u30fc\u30c9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u8a18\u4e8b\u3067\u89e3\u8aac\u3057\u305f\u300c\u91cd\u307f\u7b97\u51fa \u2794 \u7bb1\u3072\u3052\u56f3\u78ba\u8a8d \u2794 \u6570\u5024\u78ba\u8a8d \u2794 \u30c8\u30ea\u30df\u30f3\u30b0 \u2794 \u5171\u5909\u91cf\u30d0\u30e9\u30f3\u30b9\u78ba\u8a8d\u300d\u306e\u4e00\u9023\u306e\u30d1\u30a4\u30d7\u30e9\u30a4\u30f3\u30b3\u30fc\u30c9\u3092\u4ee5\u4e0b\u306b\u307e\u3068\u3081\u305f\u3002\u81ea\u8eab\u306e\u624b\u5143\u306e\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u540d\u30fb\u5909\u6570\u540d\u306b\u7f6e\u304d\u63db\u3048\u3066\u6d3b\u7528\u3057\u3066\u307b\u3057\u3044\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># === IPTW\u89e3\u6790\u306b\u304a\u3051\u308b\u300c\u7bb1\u3072\u3052\u56f3\u300d\u78ba\u8a8d\u30fb\u5916\u308c\u5024\u51e6\u7406\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8 ===\nlibrary(tidyverse)\nlibrary(WeightIt)\nlibrary(patchwork)\n\n# 1. IPTW\u91cd\u307f\u306e\u8a08\u7b97\nW &lt;- weightit(\n  treat ~ age + bmi, # \u6cbb\u7642\u5909\u6570 ~ \u5171\u5909\u91cf\n  data     = df_raw,\n  method   = \"glm\",\n  estimand = \"ATE\"\n)\n\n# 2. \u3010\u53ef\u8996\u5316\u3011\u91cd\u307f\uff08Weights\uff09\u306e\u7bb1\u3072\u3052\u56f3\u30c1\u30a7\u30c3\u30af\ndf_plot &lt;- df_raw %&gt;% mutate(weight = W$weights, treat = factor(treat))\nggplot(df_plot, aes(x = treat, y = weight, fill = treat)) +\n  geom_boxplot(alpha = 0.7, outlier.color = \"red\") + \n  geom_jitter(width = 0.1, alpha = 0.2) +\n  theme_minimal()\n\n# 3. \u3010\u6570\u5024\u78ba\u8a8d\u3011summary(W) \u3067\u6700\u5927\u5024\u3084\u4e0a\u4f4d%\u70b9\u306e\u30c1\u30a7\u30c3\u30af\nsummary(W)\n\n# 4. \u3010\u5916\u308c\u5024\u51e6\u7f6e\u3011\u4e0a\u4f4d 1% \u3067\u30c8\u30ea\u30df\u30f3\u30b0\u51e6\u7406\nW_clean &lt;- trim(W, at = 0.99)\ndf_clean &lt;- df_raw %&gt;% mutate(weight = W_clean$weights, treat = factor(treat))\n\n# 5. \u3010\u52b9\u679c\u78ba\u8a8d\u3011\u9023\u7d9a\u5171\u5909\u91cf\uff08\u4f8b: age\uff09\u306e\u8abf\u6574\u524d\u5f8c\u30d0\u30e9\u30f3\u30b9\u3092\u7bb1\u3072\u3052\u56f3\u3067\u5de6\u53f3\u6bd4\u8f03\np1 &lt;- ggplot(df_clean, aes(x = treat, y = age, fill = treat)) +\n  geom_boxplot(alpha = 0.6) + labs(title = \"Unadjusted\") + theme_minimal()\n\np2 &lt;- ggplot(df_clean, aes(x = treat, y = age, fill = treat, weight = weight)) +\n  geom_boxplot(alpha = 0.6) + labs(title = \"IPTW Adjusted\") + theme_minimal()\n\np1 + p2 # \u5de6\u53f3\u4e26\u3079\u3066\u30d7\u30ed\u30c3\u30c8\u51fa\u529b\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">IPTW\u89e3\u6790\u3092\u884c\u3046\u969b\u306f\u3001\u5358\u306b P \u5024\u3084\u30cf\u30b6\u30fc\u30c9\u6bd4\u3092\u7b97\u51fa\u3059\u308b\u3060\u3051\u3067\u306a\u304f\u3001\u4e8b\u524d\u306b <code>ggplot2<\/code> \u306e\u7bb1\u3072\u3052\u56f3\u3068 <code>summary(W)<\/code> \u306e\u6570\u5024\u3067\u91cd\u307f\u306e\u5206\u5e03\u3068\u5916\u308c\u5024\u306e\u6709\u7121\u3092\u78ba\u8a8d\u3059\u308b\u7fd2\u6163\u3092\u3064\u3051\u3066\u304a\u3053\u3046\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u78ba\u5b9f\u306a\u524d\u51e6\u7406\u3068\u30c1\u30a7\u30c3\u30af\u3092\u884c\u3046\u3053\u3068\u3067\u3001\u67fb\u8aad\u3067\u306e\u7a81\u3063\u8fbc\u307f\u3092\u9632\u304e\u3001\u4fe1\u983c\u6027\u306e\u9ad8\u3044\u81e8\u5e8a\u7814\u7a76\u8ad6\u6587\u3092\u5b8c\u6210\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u304a\u3059\u3059\u3081\u66f8\u7c4d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/amzn.to\/4fKvhUM\">\u3067\u304d\u308b! \u50be\u5411\u30b9\u30b3\u30a2\u5206\u6790: SPSS\u30fbStata\u30fbR \u3092\u7528\u3044\u305f\u5fc5\u52dd\u30de\u30cb\u30e5\u30a2\u30eb<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7814\u7a76\u8005: \u50be\u5411\u30b9\u30b3\u30a2\u9006\u78ba\u7387\u91cd\u307f\u4ed8\u3051\uff08IPTW\uff09\u89e3\u6790\u3092\u884c\u3063\u3066\u3044\u308b\u306e\u3067\u3059\u304c\u3001\u67fb\u8aad\u8005\u3084\u6307\u5c0e\u533b\u304b\u3089\u300c\u91cd\u307f\u306e\u5206\u5e03\u3092\u7bb1\u3072\u3052\u56f3\uff08Boxplot\uff09\u3067\u78ba\u8a8d\u3057\u305f\u304b\uff1f\u300d\u3068\u805e\u304b\u308c\u307e\u3057\u305f\u3002\u306a\u305c\u7bb1\u3072\u3052\u56f3\u304c\u5fc5\u8981\u3067\u3001\u3069\u3046\u63cf\u3044\u3066\u5916\u308c\u5024\u3092\u51e6\u7f6e\u3059\u308c\u3070\u3044\u3044\u306e\u3067 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":4660,"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":[7],"tags":[],"class_list":["post-4658","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-iptw-"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/best-biostatistics.com\/toukei-er\/wp-content\/uploads\/2026\/08\/IPTW\u306e\u7bb1\u3072\u3052\u56f3-scaled.png","_links":{"self":[{"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/posts\/4658","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=4658"}],"version-history":[{"count":2,"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/posts\/4658\/revisions"}],"predecessor-version":[{"id":4663,"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/posts\/4658\/revisions\/4663"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/media\/4660"}],"wp:attachment":[{"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/media?parent=4658"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/categories?post=4658"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/best-biostatistics.com\/toukei-er\/wp-json\/wp\/v2\/tags?post=4658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}