政令指定都市・中核市の整理

R
備忘録

Rで市区町村データを整理するための政令指定都市・中核市をまとめたコードです。

公開

2024年4月14日

最終更新

2024年6月27日

はじめに

これを作ったきっかけは、政令指定都市ダミーや中核市ダミーをサクサクッと作りたかったからです。

また、データによっては

都道府県 市区町村 ID
北海道 札幌市中央区 01101
北海道 札幌市北区 01102
北海道 札幌市東区 01103

と、政令指定都市が市単位ではなく区単位でしかなかったりします。要は、「札幌市」だけのような行が欲しいということです。

データによってはもう少しいじらなければならないものの、dplyr::bind_rows()を使って市のデータを追加できたりします。

コード

まとめたコードは以下です1

# 政令指定都市一覧
name_seirei = c("札幌市", "仙台市", "さいたま市", "千葉市", "横浜市", "川崎市", 
                "相模原市", "新潟市", "静岡市", "浜松市", "名古屋市", "京都市", 
                "大阪市", "堺市", "神戸市", "岡山市", "広島市", "北九州市", 
                "福岡市", "熊本市")

# 政令指定都市(特別区含む)の市町村コード
seirei_city <- tibble::tibble(
  name_pref = c("北海道", "宮城県", "埼玉県", "千葉県", "東京都", "神奈川", 
                "神奈川", "神奈川", "新潟県", "静岡県", "静岡県", "愛知県", 
                "京都府", "大阪府", "大阪府", "兵庫県", "岡山県", "広島県", 
                "福岡県", "福岡県", "熊本県"), 
  name_mun  = c("札幌市", "仙台市", "さいたま市", "千葉市", "特別区", "横浜市", 
                "川崎市", "相模原市", "新潟市", "静岡市", "浜松市", "名古屋市", 
                "京都市", "大阪市", "堺市", "神戸市", "岡山市", "広島市", 
                "北九州市", "福岡市", "熊本市"), 
  id_mun    = c("01100", "04100", "11100", "12100", "13100", "14100", "14130", 
                "14150", "15100", "22100", "22130", "23100", "26100", "27100", 
                "27140", "28100", "33100", "34100", "40100", "40130", "43100")
)

# 中核市一覧
chukaku <- c("宇都宮市", "金沢市", "岐阜市", "姫路市", "鹿児島市", "秋田市", "郡山市", 
             "和歌山市", "長崎市", "大分市", "豊田市", "福山市", "高知市", "宮崎市", 
             "いわき市", "長野市", "豊橋市", "高松市", "旭川市", "松山市", "横須賀市", 
             "奈良市", "倉敷市", "川越市", "船橋市", "岡崎市", "高槻市", "東大阪市", 
             "富山市", "函館市", "下関市", "青森市", "盛岡市", "柏市", "西宮市", 
             "久留米市", "前橋市", "大津市", "尼崎市", "高崎市", "豊中市", "那覇市", 
             "枚方市", "八王子市", "越谷市", "呉市", "佐世保市", "八戸市", "福島市", 
             "川口市", "八尾市", "明石市", "鳥取市", "松江市", "山形市", "福井市", 
             "甲府市", "寝屋川市", "水戸市", "吹田市", "松本市", "一宮市")

市区町村 という列に市区町村名が入っているとして、dplyr::filter(市区町村 %in% name_seirei) のようにすれば、政令指定都市だけをとりだすことができます。

また、dplyr::if_else(市区町村 %in% name_seirei, 1, 0) のようにすれば、ダミーも簡単に作れます。

dplyr::bind_rows() |> dplyr::arrange() をすれば、市レベルのデータを追加できます(ついでに昇順に並べ替えもしています)。

こんな感じになります。

都道府県 市区町村 ID
北海道 札幌市 01100
北海道 札幌市中央区 01101
北海道 札幌市北区 01102
北海道 札幌市東区 01103

まとめ

持ってて損は無し!また何かあれば更新します。

追記

2024年5月3日:コード微修正

  1. 2024年4月現在↩︎