これはちょとめんどうな coding が必要.
いろいろ調べてみながら試行錯誤したんだけど,
たとえば以下のように書けばよい.
# 作図例題のための架空データを生成
N.lv <- 5
x <- factor(rep(LETTERS[1:N.lv], each = 20))
y <- rnorm(100)
grp <- factor(rep(c("G1", "G2"), 50)) # Group 1 and 2
# まず,わくだけ描く
boxplot(y ~ x, border = NA) # border = NA は姑息なかんぢ……
# 二種類の箱ヒゲを左右にずらして描く
s <- grp == "G1"
bx <- boxplot(y[s] ~ x[s], plot = FALSE)
bxp(
bx, at = 1:N.lv - 0.15, boxwex = 0.25,
add = TRUE, axes = FALSE, # これを指定しないと「ずれた」x-axis を描く
boxcol = rgb(0, 0, 0, 0.2),
boxfill = rgb(1, 0.5, 0, 0.5)
)
s <- grp == "G2"
bx <- boxplot(y[s] ~ x[s], plot = FALSE)
bxp(
bx, at = 1:N.lv + 0.15, boxwex = 0.25,
add = TRUE, axes = FALSE,
boxcol = rgb(0, 0, 0, 0.2),
boxfill = rgb(0, 0, 1, 0.5)
)
ぽいんとは,
boxplot(..., plot = FALSE)
指定と bxp(, add = TRUE)
関数の使いかた.