Rのプロットのような年齢ピラミッドを作る方法は?


14

年齢ピラミッドは次のようになります。似たような 代替テキスト
もの、つまり、同じカテゴリの2つの棒グラフ(ヒストグラムではない)を作成します。
Rでこれを行う簡単な方法ですか?
また、各バーの色を制御するとよいでしょう。

回答:


21

これは、パッケージpyramid.plot()関数を使用し実行できplotrixます。以下に例を示します。

library(plotrix)
 xy.pop<-c(3.2,3.5,3.6,3.6,3.5,3.5,3.9,3.7,3.9,3.5,3.2,2.8,2.2,1.8,
  1.5,1.3,0.7,0.4)
 xx.pop<-c(3.2,3.4,3.5,3.5,3.5,3.7,4,3.8,3.9,3.6,3.2,2.5,2,1.7,1.5,
  1.3,1,0.8)
 agelabels<-c("0-4","5-9","10-14","15-19","20-24","25-29","30-34",
  "35-39","40-44","45-49","50-54","55-59","60-64","65-69","70-74",
  "75-79","80-44","85+")
 mcol<-color.gradient(c(0,0,0.5,1),c(0,0,0.5,1),c(1,1,0.5,1),18)
 fcol<-color.gradient(c(1,1,0.5,1),c(0.5,0.5,0.5,1),c(0.5,0.5,0.5,1),18)
 par(mar=pyramid.plot(xy.pop,xx.pop,labels=agelabels,
  main="Australian population pyramid 2002",lxcol=mcol,rxcol=fcol,
  gap=0.5,show.values=TRUE))

最終的には次のようになります。 代替テキスト


確かに、両サイドで異なるスケールを持つように完全に書き直しましたが、Rにはネイティブに実行できるものは何もないようです。

ggplot2でできることは確かですが、少し手間がかかります。
シェーン

@mbqまた、参考までに、HHパッケージにはピラミッドチャート機能があります。このサイトの質問では、リッカート型のデータの例示していますが、これをハッキングして同様の棒グラフを作成できると思います。ggplot2では、反射カウントを表示する必要があります。簡単な方法は、一方のバーを負、もう一方のバーを正にすることです(ただし、gpgplot2はピラミッドプロットのようなミラーディメンションをサポートしているかどうかはわかりません)。
アンディW
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.