1

Rでggplot2を使用して、2次元密度等高線でいくつかのデータをプロットしようとしています.

少し奇妙な結果が 1 つ得られます。

まず、ggplot オブジェクトをセットアップします。

p <- ggplot(data, aes(x=Distance,y=Rate, colour = Company))

次に、これを geom_points と geom_density2d でプロットします。組織の規模 (OrgSize 変数) に基づいて geom_density2d を重み付けする必要があります。ただし、重み付け変数として OrgSize を追加しても、プロットは何も変化しません。

これ:

p+geom_point()+geom_density2d()

これと同じプロットを与える:

p+geom_point()+geom_density2d(aes(weight = OrgSize))

ただし、geom_smooth を使用して黄土線で同じことを行うと、重み付けによって明確な違いが生じます。

これ:

p+geom_point()+geom_smooth()

これに別のプロットを与えます:

p+geom_point()+geom_smooth(aes(weight=OrgSize))

私は、density2d を不適切に使用しているかどうか疑問に思っていました。もしそうなら、なぜ geom_density2d は重み係数を受け入れるのですか?

以下のコード:

require(ggplot2)

 Company <- c("One","One","One","One","One","Two","Two","Two","Two","Two")
 Store <- c(1,2,3,4,5,6,7,8,9,10)
 Distance <- c(1.5,1.6,1.8,5.8,4.2,4.3,6.5,4.9,7.4,7.2)
 Rate <- c(0.1,0.3,0.2,0.4,0.4,0.5,0.6,0.7,0.8,0.9)
 OrgSize <- c(500,1000,200,300,1500,800,50,1000,75,800)

 data <- data.frame(Company,Store,Distance,Rate,OrgSize)

 p <- ggplot(data, aes(x=Distance,y=Rate))

 # Difference is apparent between these two
 p+geom_point()+geom_smooth()
 p+geom_point()+geom_smooth(aes(weight = OrgSize))

 # Difference is not apparent between these two
 p+geom_point()+geom_density2d()
 p+geom_point()+geom_density2d(aes(weight = OrgSize))
4

1 に答える 1