データのお砂場(175) R言語、ozone、米国41都市オゾン濃度 1974 {maps}

Joseph Halfmoon

R言語付属のサンプルデータベースをABC順に経めぐってます。今回は mapsパッケージの ozone です。忘却力の年寄りも思い出します。最近も「オゾン」を扱ったサンプルデータセットを練習した記憶。といって中身はよく覚えてないのだけれど。まあ練習する前に確認してみたら今回のデータセットとは異なるものだったです。安心?

※「データのお砂場」投稿順Indexはこちら

※使用させていただいている Rのversionは 4.3.1。RStudioは 2024.04.2+764 “Chocolate Cosmos” です。

ozone

今回は maps パッケージ内の ozone というデータベースです。解説ページが以下に

https://search.r-project.org/CRAN/refmans/maps/html/ozone.html

1974年の6月から8月にかけての41都市のオゾン濃度の中央値データらしいです。データ列には、緯度、経度とオゾン濃度日々の最大値の中央値[ppb]が含まれてます。

なお、「オゾン濃度」がなぜ大気汚染の指標になるのかについては以下の過去回でちょいと調べてます。

データのお砂場(41) R言語、airquality、ニューヨークの空気の品質?とな

上記のサンプルデータセットは、1973年の夏のニューヨーク市の各所での各種気象条件とオゾン濃度データです。今回はその翌年のデータみたいです。なお、以下の過去回は上記のデータのサブセット的なものみたいです。こちらは latticeパッケージ内のもの

データのお砂場(164) R言語、environmental、NYの空気、{lattice}

なぜ、当時オゾン濃度などというものにフォーカスがあたっていたか、忘却力の老人にも心当たりがあります(昔の事はよく覚えているのよ。)同じような時期、日本でも光化学スモッグというのが問題になってました。こちらではディーゼルエンジンから排出されるNOxが問題になってましたが。やはり光が眩しい夏場がひどかった記憶。

先ずは生データ

いつもの通り生データのロードからです。

library(maps)
data("ozone")
data("stateMapEnv")

と準備しておいて、ozoneの中身を覗いてみます。ozoneRawData

ここでは都市名等の情報がないので、「とりあえず」米本土のマップ上にオゾン濃度の観測値があるところにグリグリを置いてみます。

map("state")
points(ozone$x, ozone$y, pch = 16, cex = 0.25, col='blue')

こんな感じでどうよ。ozone_map

よく見たらグリグリの位置偏っているなあ。ニューヨーク近くの諸都市(といっても米国なので結構広い範囲だけれども)ばかりっす。

ターゲットを絞りこんプロットしなおし

プロットする州を絞りこんでみました。

stateNam <- c('new york', 'new jersey','massachusetts','connecticut','rhode island');
map('state', stateNam);
points(ozone$x, ozone$y, pch = 16, cex = 1.0, col='blue')

するとこんな感じ。ozone_map_0

肝心?のマンハッタン島にはボッチが無いっす。

ただ点を打っただけではデータの意味がないので、濃度で色分けしてみました。まずはデータのsummaryをとるとozoneSummary

黄色マーカーで印をつけましたが、濃度の第1四分位数、中央値、第3四分位数であります。

そいつらで各都市を層別し、濃いところほど濃い色のボッチになるようにしたプロット生成が以下に。

L0 <- ozone[ozone$median<58,];
L1 <- ozone[ozone$median<65,];
L2 <- ozone[ozone$median<80,];
L3 <- ozone[ozone$median>=80,];
map('state', stateNam);
points(L0$x, L0$y, pch = 16, cex = 1.0, col="#FFFF80");
points(L1$x, L1$y, pch = 16, cex = 1.0, col="#FFFF00");
points(L2$x, L2$y, pch = 16, cex = 1.0, col="#FF8000");
points(L3$x, L3$y, pch = 16, cex = 1.0, col="#FF0000");

その結果のプロットが以下に。

ozone_map_1分かったような、分からぬような。

データのお砂場(174) R言語、nzMapEnv、ニュージーランドの島々 {maps} へ戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です