気象庁の「各地の震度に関する情報」をRで取得するコマンドの紹介です。取得したデータはDTパッケージを利用してインタラクティブなhtmlで出力しています。今後、激しい揺れが伴う恐れがあると気象庁の発表が報道されていますが、規模の大きな地震が発生せずに収束することを祈るばかりです。
・気象庁の「各地の震度に関する情報」
http://www.jma.go.jp/jp/quake/quake_local_index.html
・Rでウェブ解析:「DTパッケージ」の紹介
https://www.karada-good.net/analyticsr/r-107/
実行コマンドはR version 3.2.3で確認しています。
実行コマンド
詳細はコメント、コマンドのヘルプを確認してください。
#パッケージの読み込み library("XML") library("RCurl") #気象庁の地震情報(各地の震度に関する情報) SelectURL <- "http://www.jma.go.jp/jp/quake/quake_local_index.html" #ページ内容を取得 doc <- getURL(SelectURL) #内容をparse doc <- htmlParse(doc) #地震情報を抽出 Earthquake <- xpathSApply(doc, "//tr", xmlValue, trim = TRUE) #文字列を整形 EarthquakeData <- Earthquake[43:length(Earthquake)] #発表日時を取得 #月を取得 MData <- substring(EarthquakeData, 6, 7) #日を取得 DData <- substring(EarthquakeData, 9, 10) #検知時を取得 kenchiHData <- substring(EarthquakeData, 21, 22) #検知分を取得 kenchiMData <- substring(EarthquakeData, 24, 25) #震央地名,マグニチュード,最大震度を取得 #震央地名取得の準備 AriaMagSaidai <- unlist(strsplit(EarthquakeData, "頃"))[2*(1:length(EarthquakeData))] #震央地名を取得 ShinouData <- unlist(strsplit(AriaMagSaidai, "M"))[2*(1:length(AriaMagSaidai))-1] #マグニチュード,最大震度の準備 MagSaidai <- unlist(strsplit(AriaMagSaidai, "M"))[2*(1:length(AriaMagSaidai))] #マグニチュードを取得 MagnitudeData <- unlist(strsplit(MagSaidai, "震"))[2*(1:length(MagSaidai))-1] #最大震度を取得 SeismicIntensityData <- unlist(strsplit(MagSaidai, "度"))[2*(1:length(MagSaidai))] #データを結合 MasterData <- data.frame("発生月日" = paste0(MData, "/", DData), "時"= kenchiHData, "分" = kenchiMData, "震央地名" = ShinouData, "マグニチュード" = MagnitudeData, "最大震度" = SeismicIntensityData) #DTパッケージでインタラクティブな表を作成 install.packages("DT") library("DT") #テーブルを作成 EarthquakeTable <- datatable(MasterData, rownames = FALSE, caption = "各地の震度に関する情報") #テーブルを表示 EarthquakeTable #作成テーブルを作業フォルダに出力 saveWidget(EarthquakeTable, "EarthquakeTable.html") ####
出力結果
少しでも、あなたの解析が楽になりますように!!