【R】スクレイピングしたデータをleafletで表示

Rにleafletパッケージを入れて、Webから取得した空港位置情報を地図に表示。

library(rvest)
library(leaflet)
library(dplyr)
library(magrittr)
library(stringr)

x<-read_html("https://en.wikipedia.org/wiki/List_of_airports_in_Japan")
tab<-x %>% html_table(header = TRUE)
class(tab)

pilgr <- tab %>% extract2(1)

pilgr %>% glimpse()
pilgr$Coordinates[1]

coord <- pilgr %>% use_series(Coordinates) %>% str_extract_all(pattern = "[1-9][0-9]\\.[0-9]+|[1-9][1-9][0-9]\\.[0-9]+", simplify = TRUE) %>% extract(, 1:2) %>% as_data_frame() %>% mutate_if(is.character, as.numeric) %>% set_colnames(c("lat", "lon"))

coord

pilgr %>% bind_cols(coord) %>% leaflet %>% addTiles() %>% addMarkers(lng = ~lon, lat = ~lat, popup = ~IATA)

参考:Rによるスクレイピング入門 C&R研究所

Add a Comment

メールアドレスが公開されることはありません。