
R言語付属のサンプルデータベースをABC順に巡回中。今回は mapsパッケージのworld.citiesです。前回が米国の都市だったので、世界へ拡大。データベースには4万以上の都市が列挙されとります。まあRのサンプル・データベースではありがちですが微妙に古いみたい。一応21世紀になってからのデータではあるけれど。
※「データのお砂場」投稿順Indexはこちら
※使用させていただいている Rのversionは 4.3.1。RStudioは 2024.04.2+764 “Chocolate Cosmos” です。
world.cities
今回のサンプルデータベースの解説は以下に。
目安、人口4万を超える「都市」についてお名前、国名、その位置(緯度、経度)、人口と、首都であるか否かを保持したデータセットです。人口は、
as at January 2006
であるようです。ただし人口4万というのは「あくまで」目安みたいです。約4万4千近い都市名のうち、人口4万を下回るものは3万都市以上あり、それどころか人口千人より少ない「都市」も3千以上含まれてます。何を基準にしているのかイマイチ不明なところあり。
なお、首都かそうでないかを示す capital というフィールドがあるのですが、ここについては中国にフォーカスがあたってます。他の国は首都でない0、首都である1、で終わっているのですが、中国では2と3というカテゴリまであります。
-
- 2:China Municipalities
- 3:China Provincial capitals
ということで、2は北京をのぞく「直轄市」、3は州都みたいです。知らんけど。
先ずは生データ
まずはmapsパッケージのworld.citiesデータセットのロードとその中身の確認から。
とりあえず全部プロットということでやってみたのかこちら。
map("world") map.cities(col="red")
まあいいんだけれど、グリーンランドとか妙に人口の小さいところまで列挙されてないかい?
日本
わかりやすいといえば、日本なので、日本国内でデータベースに含まれる都市を列挙してみました。
map("world", "Japan", xlim=c(121, 149)) map.cities(country = "Japan", label=TRUE) title("Japanese cities")
わざわざ経度指定を行っているのは、プロットしてみたら石垣市の頭のIの文字が地図からはみ出てしまっていたためです。プロットが以下に。
都市名で埋め尽くされて、何が書いてあるかわかりませんな。。。
そこで東京とその近郊(個人の主観で緯度、経度選んでますが)をプロットするコマンドが以下に。
map("world", "Japan", xlim=c(139, 140), ylim=c(35, 36)) map.cities(country = "Japan", label=TRUE) title("Tokyo Area")
「下地」の地図が世界地図で「粗い」ので、イマイチな感じがいたします。おっと東端の指定が小さめで大事な千葉市が抜けてしまった。。。
中国のcapital
capitalフィールドについては、中国だけ別カテゴリ設定されていたのでプロットで確かめてみます。まずはカテゴリ1と2の両方をプロット。
map("world", "China") map.cities(country = "China", capitals = 2, label=TRUE) map.cities(country = "China", capitals = 1, label=TRUE) title("China Capital and Municipalities")
直轄市ということでよいのかな? 直轄市カイデー。日本の「市」の感覚とは大きく異なります。最大の面積の重慶市の面積は北海道全体に匹敵。その人口三千万越えとな。
お次はカテゴリ3のみのプロット
map("world", "China") map.cities(country = "China", capitals = 3, label=TRUE) title("China Provincial capitals")
次は日本の県単位くらいのもので何かデータをプロットしてみたいものだが。