1 目的

データを市区町村単位で集計し,可視化.

  • 犯罪データにはある時点(年,年度など)の犯罪発生地点(小地域レベル)が示される.これを市区町村単位で集計.

ライブラリ:tidyverse

library(tidyverse)

2 市区町村単位集計

犯罪オープンデータのダウンロード

car_break <-
  read.csv("kanagawa_2021syazyounerai.csv",
            fileEncoding="CP932")

#車上ねらいの中身,最初の6行
car_break %>% 
  head()
  • 市区町村.発生地.列(7列目)に市区町村が示されているが,日本語のままだと窃盗数を集計できない模様.rename()を使い,cityに変更.
  • city別,すなわち市区町村別にまとめて(group_by()),観測数(=窃盗数)をカウント(n()).
car_break %>%
  rename(city=7) ->
  car_break2

car_break2 %>% 
  group_by(city) %>%
  summarise("窃盗数"=n()) ->
  car_break2

#car_break2の中身
car_break2
  • 作業フォルダ内に市区町村単位のデータを作成.csvファイル(car_break2.csv)形式の場合.
#csvファイル作成
car_break2 %>%
  write.csv("car_break2.csv", row.names=FALSE)

3 地図上への可視化

境界データのダウンロード

  • 国土数値情報ダウンロードサービス > 行政区域(ポリゴン) > 神奈川県 > 令和3年
    • ダウンロードしたZIPファイルは同じフォルダー(ディレクトリ)に納め,ZIPファイルを選択 > 右クリック > すべて展開 > 展開先の選択とファイルの選択 > 展開を実行する.展開後は最初にダウンロードしたZIPファイルを削除.  - read_sf():シェープファイル読込

ライブラリ:sf

library(sf)

Kanagawa_map <-
  read_sf("N03-20210101_14_GML/N03-21_14_210101.shp")

統計データとシェープファイルの合併のための準備.

  • 市区町村コードで統計データとシェープファイルを合併(left_join()).
    • 注意:car_breakの市区町村コードは6桁(整数型)に対して,行政区域(Kanagawa_map)の市区町村コード(N03_007)は5桁(文字型).そこで,car_breakの市区町村コード を5桁(文字型)に変換(str_sub()as.character()).
#5列目の市区町村コード.発生地.をcity_codeに列名変更
car_break %>%
  rename(city_code=5) ->
  car_break3

#city_codeを文字型,5桁に変換
car_break3 %>% 
  mutate(city_code=as.character(city_code)) %>%
  mutate(city_code=str_sub(city_code, 
                           start=1, end=5))->
  car_break3

#市区町村ごとの車上ねらい窃盗数を計算
car_break3 %>% 
  group_by(city_code) %>%
  summarise("窃盗数"=n()) ->
  car_break3

#データの合併
Kanagawa_map <-
  left_join(Kanagawa_map, car_break3, 
            by=c("N03_007"="city_code"))

可視化

  • theme_dark()を利用して背景を暗色に指示.
  • 窃盗数ゼロの地区の塗りつぶしは濃い灰色に指示(na.value="dark gray").
ggplot()+
  geom_sf(data=Kanagawa_map, aes(fill=窃盗数))+
  scale_fill_viridis_c(option="G", direction=-1,
                       na.value="dark gray")+
  labs(fill="窃盗数", x="", y="",
  caption="出典:国土交通省国土数値情報,神奈川県警察オープンデータサイト")+
  ggtitle("神奈川県市区町村別車上ねらい(2021年)")+
  theme_dark()

Rによる地理空間データの可視化