NipponMap
に他のウェブサイトからダウンロードした都道府県別データを加え,可視化.今回は65歳以上人口割合を表現する.また,シェープファイルを使わずに都道府県データ(65歳以上人口割合)を表現する方法を紹介する.
パッケージ:sf
,tidyverse
,Nipponmap
シェープファイル
作業フォルダ(ディレクトリ)にjpn.shp
などが含まれるshapes
と示されるフォルダがあることを前提とする.
Nippon_map
とし,read_sf()
でデータを読込.
Nippon_map<-
以降のコマンドをread_sf(system.file("shapes/jpn.shp"), package="NipponMap")
にしても可能.この場合,移す作業は必要ない.crs="WGS84"
は削除しても目的は達成可能.crs
(Coordinate
ReferenceSystem,座標参照系)を1984年に定められた世界測地系(World
Geodetic System)に投影を意味.ダウンロード
0000_全国
を選択して,「地域を削除」をクリック.これで「選択中地域」欄は都道府県(47地域)になる.「確定」をクリック.
指標データ
> 分野:#A 人口・世帯
#A03503 65歳以上人口割合(%)
> 確定
データの読込
read.csv()
:CSV形式のデータの読込.オブジェクト名をOlder_pop
とする.sep=","
:データがカンマで区切られていることを指示.CSV形式のデータをメモ帳やEXCELで開くと,データがカンマで区切られていることがわかる.skip=1
:1行目を削除.CSV形式のデータをメモ帳やEXCELで開くと,最初の2行に列名(項目名)が記されている.ここでは,1行目は利用しない.header=TRUE
:1行目(削除前の2行目)が列名であることを指示.fileEncoding
:文字化けを防止.#65歳以上高齢者人口割合データの読込
Older_pop <- read.csv("FEI_PREF_220523124500.csv",
sep=",", skip=1,
header=TRUE,
fileEncoding="CP932")
データの中身
パイプ演算子(%>%
)の活用.1
head()
を用いて上から6行までのデータの中身を確認.データの加工
rename()
を用いてOlder_pop
の3列目(地域.コード)と6列目(X.A03503_65歳以上人口割合…)の列名変更.SP_ID
)を用いて,地図データ(Nippon_map
)と65歳以上高齢者人口割合データ(Older_pop
)の結合準備.
mutate()
:データの列名の変更や追加を指示.Older_pop
のSP_ID
は例えば北海道が1000
になっている.一方,Nippon_map
では北海道は1
である.そこで,Nippon_map
の表記にそろえるためOlder_pop
のSP_ID
を1000
で割る.Nippon_map
のSP_ID
は<chr>
(character:文字列),Older_pop
のSP_ID
は<int>
(integer:数値)のため結合できない.Older_pop
のSP_ID
を文字列に変換.Older_pop
とする.#列名の変更
Older_pop %>%
rename(SP_ID=3,
Older_pop_rate=6) ->
Older_pop
#データ結合のための準備
Older_pop %>%
mutate(SP_ID=SP_ID/1000) %>%
mutate(SP_ID=as.character(SP_ID)) ->
Older_pop
データの結合
シェープファイルである地図データ(Nippon_map
)と65歳以上高齢者人口割合データ(Older_pop
)を結合.
Nippon_map
)と65歳以上高齢者人口割合データ(Older_pop
)をSP_ID
で結合(left_join
)し,Older_map
と名付ける.地図の下にNipponMap
および都道府県・市区町村のすがた
を利用したことを記す(caption
).
色分けはviridis
を利用.
"option="G"
はoption="mako"
に等しい.ggplot()+
geom_sf(data=Older_map,
aes(fill=Older_pop_rate))+
scale_fill_viridis_c(option="G", direction=-1)+
labs(fill="%",
caption="NipponMap
出典:総務省都道府県・市区町村のすがた")+
ggtitle("65歳以上人口割合(2019年度)")+
theme_bw()
Rによる地理空間データの可視化