はじめに
久保研介研究会のサブゼミの資料です!限定公開です。(2020.08. 公開しました
。)RでのWeb スクレイピング入門の続篇になります。前回の資料で最後に出力したgas_naha.csvを使って、分析を進めていきます!
今日のゴール
ざっくりいうと、この2つです。
- 「位置情報データって役に立ちそう」と感じる。
- ジオコーディングで重要な操作をRで実行できるようになる!
とりあえず、ジオコーディングやってみる.
緯度経度へ変換
最初なので気合を入れていきたいところですが、こちらは専用のサイトにファイルをアップロードするだけで完成します笑。今回は、東大の**ジオコーディングサイト**を使ってみます。手順は下の通りです。
- 住所を含むカラム番号を入力
- 今回は2行目ですね。csvファイルを開いて確認してみてください。
- 入力ファイルと出力ファイルの漢字コード
- gas_naha.csvを出力した際に、CP932という意味わからんエンコーディングを指定したので、今回はここをシフトJISと指定しています。
- 普通のcsvファイルでしたら、なにも指定しなくても大丈夫だと思います。もし文字化けしたら、エンコーディングを変えてみてください。
- 変換したいファイル名
- その名の通りです。
データを綺麗にする
ジオコーディングしたデータをR studioに取り込みましょう。この時、fileEncoding
を指定することに注意してください。Windowsの人は、fileEncoding = utf8
とすると、文字化けがなくなるかもです。
gas_naha <- read.csv("gas_naha_new.csv", fileEncoding = "shift-jis")
おなじみのtidyverseを使って、データを綺麗にしていきましょう。select
で必要な変数だけを指定して、rename
で変数の名前をわかりやすくしています。
library(tidyverse)
gas_naha <- gas_naha %>%
select(store, address,company, fX, fY) %>% # 必要な変数だけ取得
rename(longitude = fX, latitude = fY) # 変数の名前を変更
おまけ① 地図上にプロットしてみる
早いですが、1つ目のおまけです。前にもやりましたが、地図にガソリンスタンドをプロットしてみます。**leaflet**というライブラリを使います。
下のコードを実行してみてください。mapとうって、世界地図が出てくることを確認してください。
## leafletというライブラリを使用します。
library(leaflet)
## 地図をRstudio上に用意します。
map <- leaflet(gas_naha) %>%
addTiles()
この世界地図上に、沖縄県那覇市のガソリンスタンドをプロットしてみます。addCircles
の代わりにaddMarkers
でも良いかもです。集合体恐怖症の方は注意してください。
map %>%
addCircles(lng = ~ longitude, lat = ~latitude)
やっぱり、国道沿いに多いですね〜。
おわりに
次回に続く…。今回作ったデータにメッシュ統計データを組み合わせて分析してみます。