広告/統計/アニメ/映画 等に関するブログ

広告/統計/アニメ/映画 等に関するブログ

平均所得について

いったいみんないくら貰っているんだろう?
ということで、"平均的な"所得というものを調べてみます

■ 平均値ってどうなの?
 平均所得と呼ばれる統計は、よく出てくるものの、平均値は、外れ値があると、随分と実態の感覚とは、離れてしまうと言われています。
例えば、ある部署が、
 年収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ファイルを見れば、事足りるのですが、せっかくなのでグラフにしてみましょう。
f:id:yyhhyy:20151025130537p:plain
 20代でも300万〜450万と、個人的には、そこそこ貰っている印象があります。30〜40代では、400〜650万へと広がり、50代を超えると、役員クラスの人と平社員の人生がはっきり分かれていくようです。

 ところで、これは、注意すべき点があって、元のデータは、「世帯数,世帯主の年齢(10歳階級)・所得金額階級別 」というデータです。つまり、集計単位が世帯であって、個人ではなく、しかも世帯の年収です。ダブルインカムの家庭もシングルインカムの家庭も、家族が何人居ようとも関係ありません。

■ 世帯1人辺り
 しかし、厚生労働省は、抜け目がありません。ちゃんと「世帯数,世帯主の年齢(10歳階級)・世帯人員1人当たり所得金額階級別 」と、世帯1人辺りに割ったものもがあります。
 これとて、子どもが居る家庭と居ない家庭で数字が代わってしまいますが、さっきのデータ単独よりは、ましでしょう。
f:id:yyhhyy:20151025130610p:plain
 こうやって見ると、どの年代でもそこそこ同じ所で分布をしているようです。
 日本型終身雇用精度は、ある年齢まで年齢で賃金が上昇し、途中で上げ止まりますが、正に子どもの数とバランスが合うように、最適化されているのではないかと思えるくらいに、世帯1人辺りの所得は同じですね。



平均値が代表値として優れている、とも言われています。その根拠が気になるかたは、
統計学が最強の学問である[実践編]---データ分析のための思想と方法

統計学が最強の学問である[実践編]---データ分析のための思想と方法

を読んでみてください。中心極限定理についての直感的な解説があるなど、とても良い本でした。

今回のコードを記載します

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を使うと一度作ったグラフと似たようなグラフは、すぐに作れる(コードが再利用できる)というメリットがありますので、使用頻度が高くなればなるほど、そのありがたみがわかってきます。