環境分野の化学分析屋(見習い)が、独学でたどる解析の冥府魔道この広告は、90日以上更新していないブログに表示しています。システム(通称:そらまめ君)では、日本全国の様々な地域の大気汚染物質について情報の公開を行っていますが、過去のものが1週間くらいしか遡れない。いうのって、しばらくしてから欲しくなったりするわけでそれならば、ってことでWebスクレイピングで情報をゲットして保存しつつ、ついでに図示もできたらな、という話。library(rvest)library(dplyr)library(ggplot2)library(maptools)使ったパッケージはこんなところ。認識させたいので、数字じゃなくて文字として指定。"0"),sep="")地域IDを含むのと含まないのを作成。sep="")で指定したいから。もって、これを使ってスクレイピング。"euc-jp")ここで結構時間を使った!!風向のデータが日本語なのだけど、それが文字化けしてしまって最終的には、エンコードをeuc-jpにしたら落ち着いた。解ればこんなものだけど、しばらく検索したりしてました。c("測定局コード","市区町村名","測定局名称","SO2(ppm)","NO(ppm)","NO2(ppm)","NOx(ppm)","CO(ppm)","OX(ppm)","NHMC(ppmC)","CH4(ppmC)","THC(ppmC)","SPM(mg/m3)","PM2.5(ug/m3)","SP(mg/m3)","WD","WS(m/s)","TEMP(°C)","HUM(%)","局種別")データを変換です。呼び出したURLは項目名が無いので、自分で付け加え。このtblsを適当にcsvで保存すれば、とりあえずデータのスクレイピングは完成。17:27そらまめ君をRでWebスクレイピング(1)Tweet広告を非表示にするもっと読むコメントを書く2017-12-06信頼区間95%が真値を含む様子の図Rデータの95%信頼区間が場合によっては真値を含まないケースを図示するので以前、どこかを参考に書いたはずの絵が見つからないのでggplot2で描いてみた。良い方法があるのかもしれないけどggplot2の練習もかねて、これで一応、良しとする。14:19信頼区間95%が真値を含む様子の図Tweet広告を非表示にするもっと読むコメントを書く2017-07-19GMTの絵をPSファイル以外にGMTで書いたものをPSファイル以外にしたいと思っていたら、ありました。単なる勉強不足でしたなぁ。-Apsconvertを使えばいいとか。-TgはPNGにするオプション。-Aは余白を極力削るオプション。オプションはありそうだけど大体こんな感じで出来た。15:56GMTの絵をPSファイル以外にTweet広告を非表示にするもっと読むコメントを書く2017-07-19R:検索結果がヒットしないのに、NAとか0にはならないときRRでのちょっと戸惑ったこと。データからsubset()で検索値をとりだしてその値を使ってさらに足し算したいとき。検索結果がヒットしなかったら0を返してほしかったのだけどそうじゃなくてlogical(0)なんて出てきてこれが煮ても焼いても食えなかった。is.na()をやってもだめでこの数字自体に1をかけたり、1を割ったりして何かエラーにしようとしてもnumeric(0)とか出て、うまく扱えない。length()で大きさを見ると、見事に数字の0に落ち着いた。dに数字がヒットした時に困るからその前にifとかでちゃんと仕分けしておかないといけないけど。強引かもしれないけど、なんとか解決。geom_pathの違いずっとlineで描いていたけど、ある線が、おかしくなった。(例のデータがどれだったのか、解らないので例図がありません。そのうち見つけたら、更新)なんだか、ギザギザになって明らかにおかしい。細かく見てみるとlonのx軸が小さいほうから順番に連なっていることが発覚。後方流跡線にありがちな、くるっと回っていくのがうまく表現できていませんでした。その解決のための変更がgeom_path線を引くときは、どちらがいいのかちゃんと考えないと。知ってる人は知っているんだろうけど一瞬、絶望的な気分になった。後方流跡線のデータを取り出す方法も分かった。あとはこれをくっつけるだけ。捗るといいなぁと思ってデータのファイル名を引数に関数にしてみた。ちなみに、後方流跡線はNOAAのものです。気象データはGDASの0.5度グリッド。readLines("12110103.txt")backtraje(data)なんでGMTじゃないかというとこうやって、高度の情報を組み込みたかったから。(GMTでも、できるのかもしれないけど・・・・)高度が高いところは円が大きく、低いところは小さい。上空から見た感覚でイメージしてみた。色で分けたのも作ったけど、解りにくくなったので大きさで高度を表現。データを読み込んだらあとはこっちのもの(なにが?)地図を描いて、後方流跡線を乗っけるだけ。Earthのものを使用しました。荒めの国境データですが、今回にはこれで十分かと。shapeファイルを読み込んで、ggplot2で描けるように変換しました。+coord_fixed(ratio=1.35/1)coord_fixedは目視で設定した、個人的な趣味の数字です。正解は、何なんだろう?あと、中国は土地勘が無いので適当な都市を地図で表示。size=5)この段階で地図を描くと、こんな感じ。あとは、これに後方流跡線のデータを載せるだけ。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。