Rでコマンド:気象庁の各地の震度に関する情報をRで取得するコマンド

Rの解析に役に立つ記事
スポンサーリンク

気象庁の「各地の震度に関する情報」を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"
#&#12506;&#12540;&#12472;&#20869;&#23481;&#12434;&#21462;&#24471;
doc <- getURL(SelectURL)
#&#20869;&#23481;&#12434;parse
doc <- htmlParse(doc)
#&#22320;&#38663;&#24773;&#22577;&#12434;&#25277;&#20986;
Earthquake <- xpathSApply(doc, "//tr", xmlValue, trim = TRUE)
#&#25991;&#23383;&#21015;&#12434;&#25972;&#24418;
EarthquakeData <- Earthquake[43:length(Earthquake)]
#&#30330;&#34920;&#26085;&#26178;&#12434;&#21462;&#24471;
#&#26376;&#12434;&#21462;&#24471;
MData <- substring(EarthquakeData, 6, 7)
#&#26085;&#12434;&#21462;&#24471;
DData <- substring(EarthquakeData, 9, 10)
#&#26908;&#30693;&#26178;&#12434;&#21462;&#24471;
kenchiHData <- substring(EarthquakeData, 21, 22)
#&#26908;&#30693;&#20998;&#12434;&#21462;&#24471;
kenchiMData <- substring(EarthquakeData, 24, 25)
#&#38663;&#22830;&#22320;&#21517;,&#12510;&#12464;&#12491;&#12481;&#12517;&#12540;&#12489;,&#26368;&#22823;&#38663;&#24230;&#12434;&#21462;&#24471;
#&#38663;&#22830;&#22320;&#21517;&#21462;&#24471;&#12398;&#28310;&#20633;
AriaMagSaidai <- unlist(strsplit(EarthquakeData, "&#38915;"))[2*(1:length(EarthquakeData))]
#&#38663;&#22830;&#22320;&#21517;&#12434;&#21462;&#24471;
ShinouData <- unlist(strsplit(AriaMagSaidai, "&#65325;"))[2*(1:length(AriaMagSaidai))-1]
#&#12510;&#12464;&#12491;&#12481;&#12517;&#12540;&#12489;,&#26368;&#22823;&#38663;&#24230;&#12398;&#28310;&#20633;
MagSaidai <- unlist(strsplit(AriaMagSaidai, "&#65325;"))[2*(1:length(AriaMagSaidai))]
#&#12510;&#12464;&#12491;&#12481;&#12517;&#12540;&#12489;&#12434;&#21462;&#24471;
MagnitudeData <- unlist(strsplit(MagSaidai, "&#38663;"))[2*(1:length(MagSaidai))-1]
#&#26368;&#22823;&#38663;&#24230;&#12434;&#21462;&#24471;
SeismicIntensityData <- unlist(strsplit(MagSaidai, "&#24230;"))[2*(1:length(MagSaidai))]
#&#12487;&#12540;&#12479;&#12434;&#32080;&#21512;
MasterData <- data.frame("&#30330;&#29983;&#26376;&#26085;" = paste0(MData, "/", DData), "&#26178;"= kenchiHData, "&#20998;" = kenchiMData,
                            "&#38663;&#22830;&#22320;&#21517;" = ShinouData, "&#12510;&#12464;&#12491;&#12481;&#12517;&#12540;&#12489;" = MagnitudeData,
                            "&#26368;&#22823;&#38663;&#24230;" = SeismicIntensityData)

#DT&#12497;&#12483;&#12465;&#12540;&#12472;&#12391;&#12452;&#12531;&#12479;&#12521;&#12463;&#12486;&#12451;&#12502;&#12394;&#34920;&#12434;&#20316;&#25104;
install.packages("DT")
library("DT")
#&#12486;&#12540;&#12502;&#12523;&#12434;&#20316;&#25104;
EarthquakeTable <- datatable(MasterData, rownames = FALSE,
                                caption = "&#21508;&#22320;&#12398;&#38663;&#24230;&#12395;&#38306;&#12377;&#12427;&#24773;&#22577;") 
#&#12486;&#12540;&#12502;&#12523;&#12434;&#34920;&#31034;
EarthquakeTable
#&#20316;&#25104;&#12486;&#12540;&#12502;&#12523;&#12434;&#20316;&#26989;&#12501;&#12457;&#12523;&#12480;&#12395;&#20986;&#21147;
saveWidget(EarthquakeTable, "EarthquakeTable.html")
####

出力結果


少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました