2つのデータセットがあるとします。1つはy範囲[min0:max0]でもう1つはy範囲[min1:max1]です。両方のボックスプロットを正しいプロットのy範囲[min(min0、min1):max(max0、max1)]で隣同士に配置するにはどうすればよいですか?
これが私が試したものです:
d0 <- matrix(rnorm(15), ncol=3)
d1 <- matrix(rnorm(15), ncol=3)
par(mfrow = c(1, 2))
boxplot(d0)
usr <- par("usr")
plot.new()
par(usr = usr)
boxplot(d1, add = TRUE)
しかし、それは最初のプロットのy範囲のみを維持し、両方のプロットを圧縮しますが、正方形にしたいのですが。
何か案は?
d0 <- matrix(rnorm(15), ncol=3)
d1 <- matrix(rnorm(15), ncol=3)
# Using base R graphics
lmts <- range(d0,d1)
par(mfrow = c(1, 2))
boxplot(d0,ylim=lmts)
boxplot(d1,ylim=lmts)
また、lattice
またはggplot2
パッケージのいずれかによって、グリッドグラフィックを使用してこれを行う方法を検討することもできます。
これがggplot2での1つの試みです:
# Using ggplot2
library(ggplot2)
d <- data.frame(d.type=c(rep(0,15),rep(1,15)),sub.type=rep(c('A','B','C'),10),val=rnorm(30))
p <- ggplot(d, aes(factor(sub.type), val))
p + geom_boxplot() + facet_grid(. ~ d.type)
そして格子で:
# Using lattice
library(lattice)
bwplot(~ val|sub.type+d.type ,d)
グリッドベースのソリューションを使用すると、制限を指定する必要がなくなります。構造を指定すると、ソフトウェアが残りを行います。