平均所得について
いったいみんないくら貰っているんだろう?
ということで、"平均的な"所得というものを調べてみます
■ 平均値ってどうなの?
平均所得と呼ばれる統計は、よく出てくるものの、平均値は、外れ値があると、随分と実態の感覚とは、離れてしまうと言われています。
例えば、ある部署が、
年収300万 4人
年収350万 6人
年収400万 4人
年収600万 1人 だったすると、
この場合の平均値は、
(300*4+350*6+400*4+600*1)/15
⇒ 約 367(万円)
しかし、ここに、ハイパーエリート社員:年収1200万が一人居たとすると、
(300*4+350*6+400*4+600*1+1200*1)/16
⇒ 約 419(万円)
ちょっと印象が変わってしまう。
一部の人は、「故に、最頻値や中央値で表現すべき」とも言います。
上記の16名の部署の場合
中央値:8番目と9番目の平均値 ⇒ 350万
最頻値:6人が一番多いゾーン ⇒ 350万
となります。
とは言え、中央値の場合は、フタコブラクダのような分布の場合、誰もいない中央付近が代表値となったり、
最頻値の場合も極めてなだらかに山のない分布だった場合に、変な所が最頻値になってしまいます。
つまり、ヒストグラムや箱ひげ図で見てみないことには、なんとも言えない、のが実態です。
ということで、今回は、ヒストグラムで確認したいと思います。
■ データの取得
我が国は近代国家なだけあって、主要な統計は、国が経年でとっているものです。
(*因みに、社会学出身の方は、「統計」と呼ぶと、「国家による統計」だけを統計と呼ぶ人がいます。何故なら、国民に強制的に正しい回答をさせることが出来るのは、民間企業ではなく、国家だけだからである、という考え方があるからです。適当に回答されたアンケートというものは、どれだけ正確にランダムサンプリングされていようと、ゴミデータなのです)
国民の所得については、厚生労働省の国民生活基礎調査で調査されています。
なお、調査票の3Pめ、を見ていただければ、わかりますが、源泉徴収の方の場合、税金等が引かれる前の支給額が調査対象となります。
実際のデータは、所得の概況から得られます。
今回は、平成26年国民生活基礎調査 を使います。
■ 可視化
CSVファイルを見れば、事足りるのですが、せっかくなのでグラフにしてみましょう。
20代でも300万〜450万と、個人的には、そこそこ貰っている印象があります。30〜40代では、400〜650万へと広がり、50代を超えると、役員クラスの人と平社員の人生がはっきり分かれていくようです。
ところで、これは、注意すべき点があって、元のデータは、「世帯数,世帯主の年齢(10歳階級)・所得金額階級別 」というデータです。つまり、集計単位が世帯であって、個人ではなく、しかも世帯の年収です。ダブルインカムの家庭もシングルインカムの家庭も、家族が何人居ようとも関係ありません。
■ 世帯1人辺り
しかし、厚生労働省は、抜け目がありません。ちゃんと「世帯数,世帯主の年齢(10歳階級)・世帯人員1人当たり所得金額階級別 」と、世帯1人辺りに割ったものもがあります。
これとて、子どもが居る家庭と居ない家庭で数字が代わってしまいますが、さっきのデータ単独よりは、ましでしょう。
こうやって見ると、どの年代でもそこそこ同じ所で分布をしているようです。
日本型終身雇用精度は、ある年齢まで年齢で賃金が上昇し、途中で上げ止まりますが、正に子どもの数とバランスが合うように、最適化されているのではないかと思えるくらいに、世帯1人辺りの所得は同じですね。
・平均値が代表値として優れている、とも言われています。その根拠が気になるかたは、
統計学が最強の学問である[実践編]---データ分析のための思想と方法
- 作者: 西内啓
- 出版社/メーカー: ダイヤモンド社
- 発売日: 2014/10/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (4件) を見る
今回のコードを記載します
library("ggplot2", lib.loc="C:/r/R-3.1.2/library") library("reshape2", lib.loc="C:/r/R-3.1.2/library") library("reshape", lib.loc="C:/r/R-3.1.2/library") library("plyr", lib.loc="C:/r/R-3.1.2/library") shotoku_setai <- read.csv("shotoku_setai.csv",header=T) head(shotoku_setai) shotoku_setai$order <- rep(1:nrow(shotoku_setai)) shotoku_setai_m <- melt(shotoku_setai,id.vars=c("所得金額","order")) head(shotoku_setai_m) tail(shotoku_setai_m) shotoku_setai2_g <- ggplot(shotoku_setai_m,aes(x=reorder(所得金額,shotoku_setai_m$order),ymax=25,y=value,fill=variable)) shotoku_setai2_g <- shotoku_setai2_g + geom_bar(stat="identity",position="dodge") shotoku_setai2_g <- shotoku_setai2_g + geom_text(aes(x=reorder(shotoku_setai_m$所得金額,shotoku_setai_m$order), y=value, label=value), hjust=1, vjust=0.5, size=3, color="black") shotoku_setai2_g <- shotoku_setai2_g + facet_grid(.~variable) shotoku_setai2_g <- shotoku_setai2_g + ylab("%") shotoku_setai2_g <- shotoku_setai2_g + xlab("世帯所得") shotoku_setai2_g <- shotoku_setai2_g + coord_flip() shotoku_setai2_g <- shotoku_setai2_g + theme(axis.text.x=element_text(angle=0,size=8,color="black")) shotoku_setai2_g <- shotoku_setai2_g + theme(axis.text.y=element_text(angle=0,size=8,color="black")) plot(shotoku_setai2_g) ggsave(file="shotoku_setai2_g.png", plot=shotoku_setai2_g, dpi=400, width =10, height = 8) shotoku_hitori <- read.csv("shotoku_hitori.csv",header=T) head(shotoku_hitori) shotoku_hitori$order <- rep(1:nrow(shotoku_hitori)) shotoku_hitori_m <- melt(shotoku_hitori,id.vars=c("所得金額","order")) head(shotoku_hitori_m) tail(shotoku_hitori_m) shotoku_hitori2_g <- ggplot(shotoku_hitori_m,aes(x=reorder(所得金額,shotoku_hitori_m$order),ymax=25,y=value,fill=variable)) shotoku_hitori2_g <- shotoku_hitori2_g + geom_bar(stat="identity",position="dodge") shotoku_hitori2_g <- shotoku_hitori2_g + geom_text(aes(x=reorder(shotoku_hitori_m$所得金額,shotoku_hitori_m$order), y=value, label=value), hjust=1, vjust=0.5, size=3, color="black") shotoku_hitori2_g <- shotoku_hitori2_g + facet_grid(.~variable) shotoku_hitori2_g <- shotoku_hitori2_g + ylab("%") shotoku_hitori2_g <- shotoku_hitori2_g + xlab("世帯人員1人当たり所得") shotoku_hitori2_g <- shotoku_hitori2_g + coord_flip() shotoku_hitori2_g <- shotoku_hitori2_g + theme(axis.text.x=element_text(angle=0,size=8,color="black")) shotoku_hitori2_g <- shotoku_hitori2_g + theme(axis.text.y=element_text(angle=0,size=8,color="black")) plot(shotoku_hitori2_g) ggsave(file="shotoku_hitori2_g.png", plot=shotoku_hitori2_g, dpi=400, width =10, height = 4)
これぐらいのグラフであれば、エクセルの方が楽だ、という説もありますが、(特に、データバーを使うととても見易いです)
Rを使うと一度作ったグラフと似たようなグラフは、すぐに作れる(コードが再利用できる)というメリットがありますので、使用頻度が高くなればなるほど、そのありがたみがわかってきます。