データを市区町村単位で集計し,可視化.
ライブラリ:tidyverse
犯罪オープンデータのダウンロード
fileEncoding="CP932"
:文字化け回避.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
car_break2.csv
)形式の場合.境界データのダウンロード
read_sf()
:シェープファイル読込ライブラリ:sf
統計データとシェープファイルの合併のための準備.
left_join()
).
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による地理空間データの可視化