1 つの図で表現したい母集団のヒストグラム プロットの時系列があります。すべてのヒストグラムを 1 つの x、y プロットに入れると、非常に煩雑になるのを避けようとしています。むしろ、x 軸のみを使用して一連のヒストグラムをプロットする図を作成したいと思います (私のデータでは、形状と x 値だけが重要です)。各ヒストグラムを垂直に積み上げます。言い換えれば、個々のヒストグラム プロットの束を作成し、それらを Illustrator にエクスポートし、それらを縦一列に重ねて配置し、縦の「z 軸」に時間のラベルを付けることができますが、そうすべきだと思われます。 Rでこれを行うことができます
1 に答える
3
関数内で、周波数ではなく密度をプロットするために をhist
設定できます。freq=FALSE
これにより、振幅ではなく形状に注意が向けられるように、ヒストグラムの y 軸がスケーリングされます。ただし、デフォルトの頻度ヒストグラムを使用しても、プロットは同じ形状になります。
デバイスが 4 行 1 列に分割されているプロットの例を次に示します。各ヒストグラムの分布は異なりますが、すべてのプロットでヒストグラムに同じビニング (つまりbreaks
引数)が使用されます。
例 1:
set.seed(1)
f1 <- rnorm(100, mean=0, sd=1)
f2 <- rnorm(100, mean=3, sd=3)
f3 <- rnorm(100, mean=4, sd=1)
f4 <- rnorm(100, mean=7, sd=3)
breaks <- pretty(c(f1, f2, f3, f4), n=20)
x11(width=4, height=8)
op <- par(mfcol=c(4,1))
hist(f1, freq=FALSE, breaks=breaks)
hist(f2, freq=FALSE, breaks=breaks)
hist(f3, freq=FALSE, breaks=breaks)
hist(f4, freq=FALSE, breaks=breaks)
par(op)
おそらく、あなたが興味を持っていることの線に沿ったものは、次のとおりです-各順次ヒストグラムは時間になる可能性がありますt
。余白を少し減らすことで、形状の進行を経時的に追跡できます。
例 2:
set.seed(1)
N <- 100
M <- 7
MEAN <- c(1:M)
SD <- MEAN*0.2+1
RES <- list()
for(i in seq(M)){
RES[[i]] <- rnorm(N, mean=MEAN[[i]], sd=SD[[i]])
}
breaks <- pretty(unlist(RES), n=20)
x11(width=4, height=10)
op <- par(mfcol=c(M,1), mar=c(1,3,0,0), oma=c(3,2,1,1))
for(i in seq(M)){
h1 <- hist(RES[[i]], breaks=breaks, plot=FALSE)
plot(h1$mids, h1$densit, t="n", xlab="", ylab="", xaxt="n")
grid()
lines(h1$mids, h1$densit, t="S")
text(par()$usr[1], par()$usr[3]+(par()$usr[4]-par()$usr[3])*0.9, labels=paste("t", i), pos=4)
if(i == M){
axis(1)
} else {
axis(1, labels=FALSE)
}
}
mtext("Density", outer=TRUE, side=2, line=0)
par(op)
于 2013-01-26T08:05:53.057 に答える