2

データのヒストグラムが必要ですが、曲線のあるヒストグラムが見つかりませんでした。以下のデータの曲線で頻度(密度ではなく)を示すヒストグラムを提案してください。ファンシーなものが好まれますが、そうでない場合でも心配はいりません :)

x <- rnorm(1000)
hist(x)
4

3 に答える 3

6

これは、ゆっくりとした段階的なバージョンです。

これはあなたのデータです。

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"
)

度数曲線を含むヒストグラム

于 2013-01-23T15:13:16.947 に答える
4

ひょっとして、こんなことも…?

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軸に示されます。

于 2013-01-23T14:55:48.467 に答える
-1

通常は密度曲線を使用します。

これを試して:

x <- rnorm(1000)
hist(x)
curve(dnorm, col = 2, add = TRUE)
于 2013-01-23T14:55:57.947 に答える