Ggplot2 で密度プロットをオーバーレイする方法 (例付き)


密度プロットは、データセット内の値の分布を視覚化するのに便利な方法です。

多くの場合、複数の変数の密度プロットを一度に表示したい場合があります。幸いなことに、これは、R のggplot2データ視覚化パッケージを次の構文で使用すると簡単に実行できます。

 ggplot(data, aes (x=value, fill=variable)) +
  geom_density(alpha= .25 )

alpha引数は、各密度プロットの不透明度を制御します。各密度プロットが重なって表示されるように、この値を 1 未満に設定することが重要です。

次の段階的な例は、この構文を実際に使用する方法を示しています。

ステップ 1: データを作成する

まず、3 つの変数を含む偽のデータセットを作成しましょう。

 #make this example reproducible
set. seeds (1)

#createdata
df <- data. frame (var1=rnorm(1000, mean=0, sd=1),
                 var2=rnorm(1000, mean=0, sd=3),
                 var3=rnorm(1000, mean=3, sd=2))

#view first six rows of data
head(df)

        var1 var2 var3
1 -0.6264538 3.4048953 1.2277008
2 0.1836433 3.3357955 -0.8445098
3 -0.8356286 -2.6123329 6.2394015
4 1.5952808 0.6321948 4.0385398
5 0.3295078 0.2081869 2.8883001
6 -0.8204684 -4.9879466 4.3928352

ステップ 2: データをワイドからロングに変換する

次に、データをワイド形式からロング形式に変換して、ggplot2 と互換性を持たせる必要があります。

 library (reshape)

#convert from wide format to long format
data <- melt(df)

#view first six rows
head(data)

  variable value
1 var1 -0.6264538
2 var1 0.1836433
3 var1 -0.8356286
4 var1 1.5952808
5 var1 0.3295078
6 var1 -0.8204684

ステップ 3: 重複密度プロットを作成する

最後に、オーバーレイされた密度プロットを作成できます。

 library (ggplot2)

#create overlaying density plots
ggplot(data, aes (x=value, fill=variable)) +
  geom_density(alpha= .25 ) 

ggplot2 での密度プロットのオーバーレイ

アルファ値を自由に調整して、密度プロットを多かれ少なかれ透明にします。

たとえば、アルファ値を増やすと、プロットは次のようになります。

 library (ggplot2)

#create overlaying density plots
ggplot(data, aes (x=value, fill=variable)) +
  geom_density(alpha= .7 ) 

追加リソース

ggplot2 を使用して R でガント チャートを作成する方法
ggplot2 を使用して R でグループ化された箱ひげ図を作成する方法
ggplot2 を使用して R で並列プロットを作成する方法

コメントを追加する

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