Rで何かをしたり、読書をするブログ

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

都道府県別の商業動態統計調査のデータの分析1 - データをRに読み込む。5つのデータフレームをbind_rows()関数で統合した。

今回からしばらくは、都道府県別の商業動態統計調査のデータを分析してみたいと思います。

上の図の四角で囲ったデータを使いました。

例えば、百貨店・スーパーならば、下の図のように、販売金額ではなくて増減率のデータだけにしました。

Excelにダウンロードすると、こんな感じです。

このようなCSVファイルのデータをRで分析してみます。まずは、tidyverseパッケージの読み込みをします。

read_csv()関数でCSVファイルのデータを読み込みます。

このように、百貨店・スーパー、コンビニエンスストア、大型家電販売店、ドラッグストア、ホームセンターと5つのCSVファイルを読み込みました。

それぞれのデータフレームのサマリーをsummary()関数でみてみます。

百貨店・スーパーのデータフレームは、販売額のyoy(前年比)だけですが、その他のデータフレームは、販売額のyoyの他に、店舗数のyoyもあることがわかります。データの年度は2021年度、2022年度、2023年度の3年間ですね。

とりあえず、この5つのデータフレームを一つにまとめてみます。bind_rows()関数を使います。

どのデータフレームからのデータかわかるように、shopという名前の変数を作りました。

yoyにNAがありますので、これは、0に置換してしまいます。それと、typeのデータで、「販売額」と「販売額等」と似たものがあるので、これを「販売額」に統一します。

typeの「販売額等」のファクターレベルをなくしてしまいます。

原始的に、as.character()関数で一度、文字列型に戻してから再度、as.factor()関数でファクター型にしました。とりあえずこれで、分析のための下準備はできましたね。

今回は以上です。

次回は、

www.crosshyou.info

です。

 

今回のコードは以下になります。

#
# tidyverseパッケージの読み込み
library(tidyverse)
#
# データの読み込み
# 百貨店・スーパーのデータ
df_super_depart <- read_csv("super_and_depart.csv",
                            skip = 3) |> 
  mutate(across(where(is.character), as.factor))
glimpse(head(df_super_depart))
#
# コンビニエンスストアのデータ
df_convenience <- read_csv("convenience_store.csv",
                           skip = 3) |> 
  mutate(across(where(is.character), as.factor))
glimpse(head(df_convenience))
#
# 大型家電販売店のデータ
df_kaden <- read_csv("kaden.csv",
                     skip = 3) |> 
  mutate(across(where(is.character), as.factor))
glimpse(head(df_kaden))
#
# ドラッグストアのデータ
df_drugstore <- read_csv("drugstore.csv",
                         skip = 3) |> 
  mutate(across(where(is.character), as.factor))
glimpse(head(df_drugstore))
#
# ホームセンターのデータ
df_homecenter <- read_csv("homecenter.csv",
                          skip = 3) |> 
  mutate(across(where(is.character), as.factor))
glimpse(head(df_homecenter))
#
# 百貨店・スーパーのデータフレーム
summary(df_super_depart)
#
# コンビニエンスストアのデータフレーム
summary(df_convenience)
#
# 大型家電販売店のデータフレーム
summary(df_kaden)
#
# ドラッグストアのデータフレーム
summary(df_drugstore)
#
# ホームセンターのデータフレーム
summary(df_homecenter)
#
# すべてのデータを統合
df <- df_super_depart |> 
  mutate(type = "販売額等",
         shop = "super_and_depart") |> 
  bind_rows(df_convenience |> 
              mutate(shop = "convinience")) |> 
  bind_rows(df_kaden |> 
              mutate(shop = "kaden")) |> 
  bind_rows(df_drugstore |> 
              mutate(shop = "drugstore")) |> 
  bind_rows(df_homecenter |> 
              mutate(shop = "homecenter")) |> 
  mutate(type = as.factor(type),
         shop = as.factor(shop))
summary(df)
#
# yoyのNAを0にする
df[is.na(df$yoy), "yoy"] <- 0
#
# typeの販売額等を販売額にする
df[df$type == "販売額等", "type"] <- "販売額"
#
# 再度dfのサマリー
summary(df)
#
# typeのlevelを再設定
df <- df |> 
  mutate(type = as.character(type)) |> 
  mutate(type = as.factor(type))
#
# 再度dfのサマリー
summary(df)
#

今回のCSVファイルは以下のGitHubにあります。
https://github.com/sato-nobu/CSV_files/blob/main/super_and_depart.csv

https://github.com/sato-nobu/CSV_files/blob/main/convenience_store.csv

https://github.com/sato-nobu/CSV_files/blob/main/kaden.csv

https://github.com/sato-nobu/CSV_files/blob/main/drugstore.csv

https://github.com/sato-nobu/CSV_files/blob/main/homecenter.csv

 

(冒頭の画像は、Bing Image Creator で生成しました。プロンプトは、Landscape of natural Japanese local forests, close up of NADESHIKO flowers, photo です。)