crosshyou

主にクロス表(分割表)分析をしようかなと思いはじめましたが、あまりクロス表の分析はできず。R言語の練習ブログになっています。

商業統計調査データの分析3 - R言語で一人当り売上高と売場面積当り売上高を調べる

 

www.crosshyou.info

 の続きです。

今回は、一人当りの売上高と売場面積当りの売上高を調べてみようと思います。

まずは、基本のデータをhead関数で確認しましょう。

f:id:cross_hyou:20190406101309j:plain

このようなデータでした。Staffが従業者数で、Revenueが売上高、Spaceが売場面積です。

Revenue / Staffで一人当りの売上高、Revenue / Spaceで1平方メートル当りの売上高が計算できます。

まずは一人当りの売上高を計算します。

f:id:cross_hyou:20190406102217j:plain

最小値が4.602なので約460万円です。最大値は60.961なので約6100万円です。一人当りの売上高が6100万円ってすごいですね。平均値は約1600万円です。

1平方キロメートル当りの売上高を計算します。

f:id:cross_hyou:20190406102736j:plain

最小値は0.1894ですから約19万円、最大値は16.1302ですから約1600万円、平均値は約100万円です。

こんどは、それぞれの分布状況を見てみます。hist関数でヒストグラムを作ります。

f:id:cross_hyou:20190406103120j:plain

f:id:cross_hyou:20190406103140j:plain

右に裾野が広がっている分布ですね。

売場面積当りの売上高はどうでしょうか?

f:id:cross_hyou:20190406103401j:plain

f:id:cross_hyou:20190406103420j:plain

これはさらに右に裾野が広がっている分布ですね。。

今度は、一人当り売上高と売場面積当り売上高の散布図をplot関数で描いてみます。

f:id:cross_hyou:20190406103816j:plain

f:id:cross_hyou:20190406103831j:plain

売場面積当り売上高が10以上のプロットがあるので、わかりにくいですが、正の相関関係があるように見えます。cor.test関数で相関係数とその相関が有意か(0でないか)を確認しましょう。

f:id:cross_hyou:20190406104239j:plain

p-valueは2.2e-16より小さいので相関有りですね。相関係数は0.433です。

 

それぞれの変数の大きな業種、小さな業種を見てみましょう。

まずは一人当り売上高の小さな業種です。

f:id:cross_hyou:20190406104825j:plain

tapply関数でSectorごとの平均値を出して、sort関数で小さい順に並び替え、head関数ではじめの6業種を表示しました。履物小売業(靴を除く)が一番小さく、7年間の平均で一人当り売上高が540万円ぐらいです。パン小売業(製造小売)、菓子小売業(製造小売)、自転車小売業、菓子・パン小売業、料理品小売業と続きます。

それでは一人当り売上高の大きな業種はどこでしょうか?

f:id:cross_hyou:20190406105451j:plain

rev関数を使って大きい順に並び替えています。合計が一番ですね。合計には、おおもとのデータから削除した百貨店とか個人事業所が無い業種も含まれていますからね。

各種商品小売業が3700万円、肥料・飼料小売業、燃料小売業、機械器具小売業、電気機械小売業(中古品を除く)と続きます。

売場面積当り売上高の小さい業種は何でしょうか?

f:id:cross_hyou:20190406110140j:plain

自転車小売業が一番小さいです。1平方メートル当りの売上高は24万円ぐらいです。中古品小売業(骨とう品を除く)、履物小売業(靴を除く)、家具小売業、家具・建具・畳小売業、陶磁器・ガラス器小売業と続きます。

売場面積当りの売上高の大きい業種は何でしょうか?

f:id:cross_hyou:20190406110743j:plain

燃料小売業が一番大きく、1平方メートル当り1300万円です。合計、機械器具小売業、燃料小売業(ガソリンスタンドを除く)、その他の機械器具小売業、肥料・飼料小売業と続きます。

整理すると、一人当り売上高の一番小さな業種は、履物小売業(靴を除く)です。

一番大きな業種は、合計です。

売場面積当りの売上高の一番小さな業種は自転車小売業です。

一番大きな業種は燃料小売業です。

この4つの業種を削除して、一人当り売上高と売場面積当り売上高の散布図を作ってみましょう。

f:id:cross_hyou:20190406112129j:plain

まず、上のようにして4つの業種を削除しました。

これで散布図を描いてみます。

f:id:cross_hyou:20190406112423j:plain

f:id:cross_hyou:20190406112435j:plain

はじめの散布図よりも散らばっていますね。相関係数を見てみましょう。

f:id:cross_hyou:20190406112628j:plain

p-valueは2.2e-16ですから有意です。相関係数は0.366なので正の相関です。

cおplot関数で年ごとの散布図を描いてみます。

f:id:cross_hyou:20190406113149j:plain

f:id:cross_hyou:20190406113214j:plain

年ごとの分布の傾向の変化は無い感じですね。

今回は以上です。

 次回は

 

www.crosshyou.info

 

です。

 

今回のR言語のコードです。

# head関数
head(df)

# 一人当りの売上高
df3 <- df
df3$Stf_Rev <- df3$Revenue / df3$Staff
summary(df3$Stf_Rev)

# 1平方キロメートル当りの売上高
df3$Spc_Rev <- df3$Revenue / df3$Space
summary(df3$Spc_Rev)

# 一人当りの売上高のヒストグラム
hist(df3$Stf_Rev)

# 売り場面積当りの売上高
hist(df3$Spc_Rev)

# 一人当り売上高と売場面積当り売上高の散布図
plot(df3$Stf_Rev, df3$Spc_Rev)

# 相関の有無の検定
cor.test(df3$Stf_Rev, df3$Spc_Rev)

# 一人当り売上高の小さな業種
head(sort(tapply(df3$Stf_Rev, df3$Sector, mean)))


# 一人当り売上高の大きな業種
head(rev(sort(tapply(df3$Stf_Rev, df3$Sector, mean))))

# 売場面積当り売上高の小さい業種
head(sort(tapply(df3$Spc_Rev, df3$Sector, mean)))

# 売り場面積当り売上高の大きい業種
head(rev(sort(tapply(df3$Spc_Rev, df3$Sector, mean))))

# 4つの業種を削除
df3n <- df3[df3$Sector != "履物小売業(靴を除く)", ]
df3n <- df3n[df3n$Sector != "合計", ]
df3n <- df3n[df3n$Sector != "自転車小売業", ]
df3n <- df3n[df3n$Sector != "燃料小売業", ]

# 一人当り売上高と売場面積当り売上高の散布図
plot(df3n$Stf_Rev, df3n$Spc_Rev)

# 相関の有無
cor.test(df3n$Stf_Rev, df3n$Spc_Rev)

# coplot関数
coplot(df3n$Spc_Rev ~ df3n$Stf_Rev | df3n$Year, pch = 16, panel = panel.smooth)