toriR blog

ツバメたちの福井県の巣の分布地図をRで書いてみる)

2022年と2023年に福井県のツバメ3種(ツバメ、イワツバメ、コシアカツバメ)の巣分布を市民科学で調査しました。その結果まとめのためにコードを書いてみようと思います。R文法は全く忘れています。まず、福井県の市町毎に巣の数を色分けして地図表示させてみました。その備忘録です。chatGPTと一緒に行いました。
図1 福井県の白地図

環境とバージョンの確認

MacOSX: Sonoma14.12/ Apple M1 Max/32GB
R version 4.3.2 (2023-10-31) -- "Eye Holes"
RStudio バージョン2023.12.0+369 (2023.12.0+369)

福井県の市町の白地図を書いてみる

まず、このページを参考にして、福井県の市町の白地図を書いてみます。

ライブラリを整える

  • 幾つかのライブラリがなかったので整えます。

{R} # 足りないライブラリのインストール install.packages("remotes") remotes::install_github("uribo/jpndistrict") # ここからライブラリの読み取り。 library(sf) library(dplyr) library(ggplot2) library(jpndistrict)

福井県の県番号を調べる方法。

福井県は18でした。
print(n=46,jpnprefs)
# 全件表示して、引用は該当部のみ
...
18 18       福井県     福井市              中部   本州         Fukui-ken     Fukui-shi    Chubu     Honshu                      36.1
...

福井県の白地図を書いてみる

# 福井県のデータを取り出します。
fukui <- jpn_pref(18)
g <- ggplot(fukui) + 
  geom_sf() +
  theme_void()
g
# 得られた白地図はこのページの図1の通りです。うまくいきました。

ツバメの巣の数のデータの準備

  • 登録されている市町名を調べます。
# 登録名を調べる
> head(fukui)
...
pref_code prefecture city_code city                                                                                  geometry
  <chr>     <chr>      <chr>     <chr>                                                                       <MULTIPOLYGON [°]>
1 18        福井県     18201     福井市 (((135.9643 35.99761, 135.9675 35.99886, 135.9685 36.00164, 135.97 36.00104, 135.972...
...
# cityがデータ名なのでそれを取得
fukui$city
 [1] "福井市"            "敦賀市"            "小浜市"            "大野市"            "勝山市"            "鯖江市"           
 [7] "あわら市"          "越前市"            "坂井市"            "吉田郡 永平寺町"   "今立郡 池田町"     "南条郡 南越前町"  
[13] "丹生郡 越前町"     "三方郡 美浜町"     "大飯郡 高浜町"     "大飯郡 おおい町"   "三方上中郡 若狭町"
# tubame_su.csvをvimで編集します。こんな感じ。terminalで作りました。数字は適当です。
$ cat tubame_su.csv 
city,nest_count
"福井市",100
"敦賀市",15
"小浜市",33
"大野市",55
"勝山市",66
"鯖江市",1
"あわら市",44
"越前市",55
"坂井市",1
"吉田郡 永平寺町",1
"今立郡 池田町",2
"南条郡 南越前町",22
"丹生郡 越前町",55
"三方郡 美浜町",66
"大飯郡 高浜町",77
"大飯郡 おおい町",66
"三方上中郡 若狭町",99

RStudioでツバメの巣数で色分けしてみる

# データの読み込み
setwd("your_path")
tubame_su <- read.csv("tubame_su.csv")
#データの統合
fukui_data <- fukui %>% 
  left_join(tubame_su, by = "city")

# 地図上にツバメの巣の数を色分けして表示
ggplot(data = fukui_data) +
  geom_sf(aes(fill = nest_count), color = "white") +
  scale_fill_viridis_c() +
  theme_minimal(base_family = "HiraKakuPro-W3") +
  labs(title = "福井県の市町村別ツバメの巣の数",
       fill = "巣の数")
図2 ツバメの巣数(数字は適当です)

割に簡単でした。chatGPTに聞いて作りました。chatGPTで聞けばやはり効率は上がります。

以上です。

Article Info

created: 2023-12-21 10:55:52
modified: 2023-12-21 12:19:35
views: 141
keywords: R GIS

Articles