9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

R言語Advent Calendar 2023

Day 5

Rのjmastatsパッケージを使って気象庁のデータを眺める

Last updated at Posted at 2023-12-04

はじめに

初めてQiitaで記事を書きます。
普段はメーカーで製品や事業に関するデータアナリストをやっています。

秋ごろ公開されたjmastatsが個人的に超面白い&Rのadvent calendarに空きがありそうなので備忘録を兼ねて紹介します。

jmastats is 何?

CRANやGitHubで公開されているのでそちらを参考に。
https://github.com/uribo/jmastats
端的に言えば気象庁で公開している、様々な気象データをスクレイピングしてくれるパッケージです。

元データは気象庁のサイトで公開しており、気温や降水量などのデータであれば10分単位から年に集約したものまで期間を変えて取得できます。
https://www.data.jma.go.jp/stats/etrn/index.php?prec_no=44&block_no=47662&year=2023&month=1&day=1&view=
データの種類で期間を選ぶとテーブル形式で表示され、上記のURLであればblock_noの"47662"が地点の指定になります。

最新のblock_noの一覧表が見つからなかったのですが、最大で1,241拠点あるのではと思われます。
※怒られが発生しない頻度で00000~99999までを全部試した

実際に使ってみる

先ほどの気象庁のURLと同じデータを取得する場合は以下のように書きます。

R
df_jma <- jma_collect(item = "daily", block_no = "47662", year = 2023, month = 1)

なおblock_noは4桁か5桁で、4桁の場合は先頭に「0」が付く場合があるので文字列で渡した方が安全です。(北海道の沓形は"0002")

このテーブルが、
1.png

このように取り込まれます。
2.png
画像のように気象庁の形式に近づけているため、dataframe内にtibbleで入っています。

この拠点では9列(tibbleで結合された列を展開すると21列)になっていますが、別の拠点だと7列(展開後18列)の2種類があるようです。

tibbleを展開

このままでも使えますが、展開して普通の(?)1列ごとのdataframeにすることもできます。

R
df_jma <- tidyr::unnest(df_jma)

展開できました。
image.png

この結果をあらかじめ用意した列名に変更しても良いです。
3.png

注意点

気象庁では天気や大気現象を示すために記号を使っています。jmastatsを使った時にWindows環境だと(?)これが上手く読み込めずエラー(欠損)になるときがあります。
4.png
5.png
1日よりも長い期間のデータでは詳細情報がないので問題なさそうですが、1時間より短い期間の時はご注意ください。

見える化例

「今年の9月は例年と比べても暑さが酷い気がする」と思ったので、それを定量化してみました。

・横軸が約1,200か所の観測地点。真夏日の数が例年と比べてどう変化したか
9月の真夏日.png

・9月の各日の最高気温を平均化して年ごとに比較
9月の最高気温.png

9
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?