Rを通じて統計学を学ぶ備忘録ブログ

SPSSからRに移行したい私のような人向けのR解説ブログ兼学習用備忘録。

第72回 ggplot備忘録その8

今回はヒストグラムに関するggplotのコードを見ていきます。

基本的な設定ではビンの数が30になっているので、binwidthで調整することも忘れずに。また、同じデータでも、調整次第では全く違うように見させることも可能ですが、そうならないように注意する必要がありますね。

 ggplot(demo, aes(x = x)) 
+ geom_histogram(binwidth = 0.3, fill = "darkgreen", col = "darkgreen", origin=10)       
 
#origin:左端の位置を設定 

f:id:teruaki-sugiura:20160116171413p:plain

 demo$class1234 <- revalue(demo$class, c( "a" = 1, "b" = 2, "c" = 3, "d" = 4))
 ggplot(demo, aes(x = x)) 
+ geom_histogram(binwidth = 0.2, fill = "darkgreen", col = "black", origin = 10) + facet_grid(class1234~., scales = "free")
 
#仮にclassがa~dではなく1~4となっており、ファセットのラベルをアルファベットに変更したい場合。
 demo$class.level <- factor(demo$class)
 levels(demo$class.level)
[1] "1" "2" "3" "4"
 demo$class.abcd <- revalue(demo$class, c( "1" = a, "2" = b, "3" = c, "4" = d)) 

f:id:teruaki-sugiura:20160116171455p:plain

 demo$class.12 <- revalue(demo$class, c( "a" = 1, "b" = 1, "c" = 2, "d" = 2))
 ggplot(demo, aes(x = x, fill = class.12)) 
+ geom_histogram(binwidth = 0.2, position = "identity", alpha = 0.5) 

f:id:teruaki-sugiura:20160116171649p:plain

 ggplot(demo, aes(x = x)) 
+ geom_density(col = "darkgreen", fill= "darkgreen") 
+ expand_limits(x = c(8, 20), y = c(0, 0.3))
 
#expand_limits():範囲を調整
#geom_line(stat="density"):横線や下部の線を削除

f:id:teruaki-sugiura:20160116171729p:plain

 ggplot(demo, aes(x = x)) 
+ geom_line(stat = "density", adjust = .5 ,col = "blue") 
+ geom_line(stat = "density", adjust = 1 ,col = "darkgreen") 
+ geom_line(stat = "density", adjust = 2 ,col = "red")

f:id:teruaki-sugiura:20160116171752p:plain

 ggplot(demo, aes(x = x, y = ..density..)) 
+ geom_histogram(binwidth = .3, fill = "springgreen4", col = "black", size = 0.2) 
+ geom_density(size=1.5) 
 
# y = ..density..:y軸は確率密度に設定 

f:id:teruaki-sugiura:20160116171812p:plain

 ggplot(demo, aes(x = x, y = ..density..)) 
 + geom_histogram(binwidth = .3, fill = "springgreen4", col = "black", size = 0.2) 
 + geom_line(stat = "density")

f:id:teruaki-sugiura:20160116171837p:plain

 ggplot(demo, aes(x = x, y = y)) 
 + geom_point(col = "grey60") 
 + stat_density2d(aes(col = ..level..)) 
 + xlim(10, 18) + ylim(50, 70)

f:id:teruaki-sugiura:20160116171858p:plain

ggplot(demo, aes(x = x, y = y)) 
+ stat_density2d(aes(fill = ..density..), geom = "raster", contour = FALSE) 
+ xlim(10, 18) + ylim(50, 70)

f:id:teruaki-sugiura:20160116172152p:plain

ggplot(demo, aes(x = x, y = y)) 
+ stat_density2d(aes(alpha = ..density..), geom = "raster", contour = FALSE) 
+ xlim(10, 18) + ylim(50, 70)

 

f:id:teruaki-sugiura:20160116171928p:plain

以上でおしまい。