www.crosshyou.info

政府統計の総合窓口のデータや、OECDやUCIやのデータを使って、Rの練習をしています。ときどき、読書記録も載せています。

都道府県別の個人企業経済調査(製造業と卸売業、小売業)のデータ分析2 - R言語のggplot2パッケージで5種類のよく使うグラフを描く

UnsplashAlex Basovが撮影した写真 

www.crosshyou.info

の続きです。

今回はデータをグラフにして、どんなデータなのかを把握してみたいと思います。

はじめに変数がどんなデータがあるかを確認したいと思います。

summary()関数で一覧してみます。

year_codeは調査年です。数値型のデータで、2019年、2020年、2021年の3年間です。

yearは調査年のファクター型にしたものです。それぞれの年に94個の観測データがあります。

pref_codeは都道府県コードをファクター型に変換したものです。1000が北海道でした。

prefが都道府県名です。それぞれの都道府県に6個の観測データがあります。

indu_codeは業種のコードで、2と3があります。両方とも141個の観測値があります。

induは業種名をファクター型に変換したもので、製造業と卸売小売業の2種類です。

revenueが1企業当たりの売上高で、単位は千円です。最小値は643万7千円、最大値は3144万6千円、平均値は1705万円です。中央値は1678万2千円です。平均値と中央値が近い値なので、左右対称に近い分布だと予想されます。

wageは1企業当たりの給料賃金で、単位は千円です。最小値は52万7千円、最大値は252万3千円平均値は134万8千円、中央値は132万3千円です。これも平均値と中央値が近い値です。左右対称に近い分布だと予想されます。

opは営業利益で、単位は千円です。最小値は74万8千円、最大値は357万2千円、平均値は209万5千円、中央値は209万9千円です。これも平均値と中央値が近い値です。左右対称に近い分布だと予想されます。

 

それでは、さっそく、ggplot2パッケージのggplot()関数でグラフにしてみます。

geom_histogram()関数でヒストグラムにしましょう。

revenueをヒストグラムにしたら上のようになりました。左右対称の分布、という予想は完全に外れでしたね。たぶん、製造業と卸売小売業で分布に違いがあるものと思われます。facet_grid()を追加してみます。

卸売小売業のほうが売上高は大きく、製造業のほうが小さいことがわかります。

 

wage, 給与賃金も同じようにしてヒストグラムにしてみます。

revenueほどの大きな違いはありませんね。若干、製造業のほうが小さいようです。

 

opはどうでしょうか?

opは製造業のほうが大きいような感じです。これもrevenueほどの大きな違いは無いですね。

 

こんどは、2019年、2020年、2021年で違いがあるかをみてみましょう。geom_boxplot()関数で箱ひげ図にしてみてみます。

 

revenueは年での違いはそんなに大きくないように見えます。

都道府県別にラインチャートでみてみましょう。geom_line()を使います。

 

theme(legend.position = "none") というコードを追加して凡例を非表示にしています。

どうでしょうか。。はっきりとした傾向は卸売小売業、製造業ともに見られないですね。

 

wageも年別で見てみます。今度は、group_by()関数、summarize()関数、mean()関数で年別の平均値を出して、geom_col()関数で棒グラフにしてみます。

wageは2019年、2020年、2021年と年が経つほど経過しているようです。

 

棒グラフは、geom_bar()関数でも描くことができます。

opの年別の平均値の棒グラフを描いてみます。

geom_bar(stat = "identity") とします。

opは製造業は低下傾向ですが、卸売小売業は増加していますね。

 

視覚化の作業の最後は散布図をみてみましょう。2つの変数の関係を見るときに使います。geom_point()関数です。

製造業でも卸売小売業でもrevenueとwageは正の相関関係ですね。

 

revenueとopを見てみます。

revenueとopも正の相関関係がありますね。

 

最後は、wageとopです。

wageとopは製造業と卸売小売業、重なった部分が多いです。正の相関関係ですね。

今回は以上です。

次回は、

www.crosshyou.info

です。

 

初めから読むには、

www.crosshyou.info

です。

 

今回使用した関数は

summary() --- データフレームのサマリー統計値を表示

ggplot() + geom_histogram() --- ヒストグラムを描く

ggplot() + geom_boxplot() --- 箱ひげ図を描く

ggplot() + geom_line() --- 線グラフを描く

group_by() --- データフレームをグループ化する

summaraize() --- データフレームのサマリーを表示する

mean() --- 平均値を計算する

ggplot() + geom_col() --- 棒グラフを描く

ggplot() + geom_bar() --- 棒グラフを描く

ggplot() + geom_point() --- 散布図を描く