データのヒストグラムが必要ですが、曲線のあるヒストグラムが見つかりませんでした。以下のデータの曲線で頻度(密度ではなく)を示すヒストグラムを提案してください。ファンシーなものが好まれますが、そうでない場合でも心配はいりません :)
x <- rnorm(1000)
hist(x)
これは、ゆっくりとした段階的なバージョンです。
これはあなたのデータです。
population_mean <- 0
population_sd <- 1
n <- 1000
x <- rnorm(n, population_mean, population_sd)
これらはx
、曲線を描くための座標です。qnorm
を使用して、正規分布から上下の分位点を取得していることに注意してください。
population_x <- seq(
qnorm(0.001, population_mean, population_sd),
qnorm(0.999, population_mean, population_sd),
length.out = 1000
)
密度からカウントに変換するには、ビン幅を知る必要があります。これは、自分で指定する場合に最も簡単です。
binwidth <- 0.5
breaks <- seq(floor(min(x)), ceiling(max(x)), binwidth)
これが私たちのヒストグラムです。
hist(x, breaks)
カウント曲線は、正規密度にデータポイント数を掛けてビン幅で割ったものです。
lines(
population_x,
n * dnorm(population_x, population_mean, population_sd) * binwidth,
col = "red"
)
母集団分布ではなく標本分布でもう一度見てみましょう。
sample_mean <- mean(x)
sample_sd <- sd(x)
sample_x <- seq(
qnorm(0.001, sample_mean, sample_sd),
qnorm(0.999, sample_mean, sample_sd),
length.out = 1000
)
lines(
population_x,
n * dnorm(sample_x, sample_mean, sample_sd) * binwidth,
col = "blue"
)
ひょっとして、こんなことも…?
set.seed(1)
x <- rnorm(1000)
hist(x, las=1)
par(new=TRUE)
plot(density(x), col=2, yaxt="n", xaxt="n",
bty='n', xlab="", ylab="", main='')
axis(4, las=1)
頻度は左のy軸に示され、確率 (密度線の場合) は右のy軸に示されます。
通常は密度曲線を使用します。
これを試して:
x <- rnorm(1000)
hist(x)
curve(dnorm, col = 2, add = TRUE)