library(tidyverse)

Data from https://bayesian-ma.net/data-2/ – redrawing a graph from Robert Grant’s LondonR talk in July 2025.

dat <- read.csv(text = "Study,n_tea,mean_tea,sd_tea,n_control,mean_control,sd_control,cochrane_weight_percent,cochrane_mean_diff,cochrane_lci,cochrane_uci,japan,catechin,baseline_bmi
Kozuma 2005,107,-1,0.6,119,0.3,0.4,9.51,-1.3,-1.43,-1.17,1,540,27
Takase 2008,44,-1.2,0.5,45,0,0.3,9.4,-1.2,-1.37,-1.03,1,540,28
Nagao 2007,123,-0.6,0.6,117,0,0.6,9.46,-0.6,-0.75,-0.45,1,583,27
Takeshita 2008,40,-0.5,0.4,41,-0.1,0.5,9.31,-0.4,-0.6,-0.2,1,548,28
Kajimoto 2005,129,-0.2,0.5,66,0.2,0.8,9.25,-0.4,-0.61,-0.19,1,545,26
Suzuki 2009,18,-0.2,0.5,20,0,0.6,8.57,-0.2,-0.55,0.15,1,392,26
Kataoka 2004,71,-0.4,0.8,71,-0.3,0.8,9.03,-0.1,-0.36,0.16,1,560,25
Takashima 2004,10,-0.5,0.6,9,-0.5,0.6,7.38,0,-0.54,0.54,1,570,24
Auvichayapat 2008,30,-3,1.7,30,-1.9,1.8,5.26,-1.07,-1.96,-0.18,0,141,28
Hill 2007,19,0,0.3,19,0.2,0.4,9.2,-0.17,-0.39,0.05,0,300,31
Hsu 2008,41,-0.1,2.8,37,0.0,0.8,5.21,-0.05,-0.94,0.84,0,614,31
Diepvens 2005,23,-1.5,0.7,23,-1.5,0.6,8.41,0,-0.38,0.38,0,1207,28")
dat
long_dat <- dat |>
  select("Study", starts_with("mean"), starts_with("sd")) |>
  pivot_longer(
    cols = c(starts_with("mean"), starts_with("sd")),
    names_to = c(".value", "group"),
    names_sep = "_"
  )
long_dat
long_dat  |>
  ggplot() +
  aes(
    x = mean,
    y = sd,
    group = Study,
    colour = group
  ) +
  geom_point(
    aes(fill = group),
    colour = "black",
    size = 3,
    shape = 21
  ) +
  geom_line(colour = "black") +
  scale_fill_manual(
    values = c("tea" = "white", "control" = "black"),
    labels = c("tea" = "Green tea", "control" = "Control")
  ) +
  labs(x = "Mean weight change (BMI)", y = "SD", fill = "Condition")