R のヒストグラムに法線曲線を重ねる方法 (2 つの例)


多くの場合、R のヒストグラムに法線曲線を重ね合わせたい場合があります。

次の例は、ベース R とggplot2でこれを行う方法を示しています。

例 1: ベース R ヒストグラムに正規曲線を重ね合わせる

次のコードを使用して、ベース R でヒストグラムを作成し、そのヒストグラムに正規曲線を重ね合わせることができます。

 #make this example reproducible
set. seed ( 0 )

#define data
data <-rnorm( 1000 )

#create histogram
hist_data <- hist(data)

#define x and y values to use for normal curve
x_values <- seq(min(data), max(data), length = 100 )
y_values <- dnorm(x_values, mean = mean(data), sd = sd(data)) 
y_values <- y_values * diff(hist_data$mids[1:2]) * length(data) 

#overlay normal curve on histogram
lines(x_values, y_values, lwd = 2 )

Rのヒストグラムに正規曲線を重ね合わせる

プロット内の黒い曲線は正規曲線を表します。

自由にCollwdlty引数を使用して、色、幅、線種をそれぞれ変更してください。

 #overlay normal curve with custom aesthetics
lines(x_values, y_values, col=' red ', lwd= 5 , lty=' dashed ')

例 2: ggplot2 のヒストグラムに正規曲線を重ね合わせる

次のコードを使用して、ggplot2 でヒストグラムを作成し、ヒストグラム上に正規曲線をオーバーレイできます。

 library (ggplot2)

#make this example reproducible
set. seed ( 0 )

#define data
data <- data. frame (x=rnorm( 1000 ))

#create histogram and overlay normal curve
ggplot(data, aes(x)) +
  geom_histogram(aes(y = ..density..), fill=' lightgray ', col=' black ') +
  stat_function(fun = dnorm, args = list(mean=mean(data$x), sd=sd(data$x)))

Rのggplot2のオーバーレイヒストグラム

プロット内の黒い曲線は正規曲線を表します。

自由にCollwdlty引数を使用して、色、幅、線種をそれぞれ変更してください。

 #overlay normal curve with custom aesthetics
ggplot(data, aes(x)) +
  geom_histogram(aes(y = ..density..), fill=' lightgray ', col=' black ') +
  stat_function(fun = dnorm, args = list(mean=mean(data$x), sd=sd(data$x)),
                col=' red ', lwd= 2 , lty=' dashed '))

: stat_functionの完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、R で他の一般的な操作を実行する方法について説明します。

R で相対頻度ヒストグラムを作成する方法
R でヒストグラムの区切りを指定する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です