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 )
アルファ値を自由に調整して、密度プロットを多かれ少なかれ透明にします。
たとえば、アルファ値を増やすと、プロットは次のようになります。
library (ggplot2) #create overlaying density plots ggplot(data, aes (x=value, fill=variable)) + geom_density(alpha= .7 )
追加リソース
ggplot2 を使用して R でガント チャートを作成する方法
ggplot2 を使用して R でグループ化された箱ひげ図を作成する方法
ggplot2 を使用して R で並列プロットを作成する方法