データのお砂場(97) R言語、bigcity、米国の都市の急成長? bootパッケージ

Joseph Halfmoon

今回のサンプルデータセットはbootパッケージのbigcityです。米国データなので bigcityってニューヨーク?ロサンゼルス?と思ってみると分かりません。都市名は明示されておらず全てインデックス表示であるうえサンプリングです。また百年ほど前のデータです。具体的な都市名など気にせず統計処理にまい進せよとの思し召し?

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

bigcityサンプルデータセット

bootパッケージにも多数のサンプルデータセットが格納されており、各データセットについては以下からPDFファイルの解説を参照することが可能です。

https://cran.r-project.org/web/packages/boot/boot.pdf

今回のbigcity データセットは、

    1. 米国の「大都市」49の人口(単位千人)データ
    2. 49の「大都市」は1920年における上位196都市から「ランダムサンプリング」で抽出している(ちょうど25%ということね。)
    3. 各都市の1920年の人口をu、1930年の人口をxという列にしている

というもの。私は具体的な都市名が知りたかったのですが、そういうところに「気が散らない」ように都市はインデックス番号でしかありません。

時代的なものを考えれば、大恐慌の前後で計数していることになります。1920年は大恐慌前の「イケイケ」だった時代かな?1930年は大恐慌直後の「ボロボロ」な時代でしょうか。それでも「ぐぐっと」伸びているのはやはり移民の国アメリカならではでしょうか。

まずは生データ

bootパッケージをlibrary指定したのち、bigcityデータセットをロードしてみます。形式はシンプルなdata.frame、カラムは上記で述べたとおりuとxの2つだけです。bigcityRawData

ロードしたデータの上9行くらいが表示にかかってますが、8行目などは、uが23、xが48です。単位は千人の筈なので、23ってことは2万3000人かい?ううむ人口2万3000人で「ビッグシティ」(上位196都市の筈)入りとは怖れいります。米国は開拓時代こそ終わったものの、高度成長期とはいえまだまだだったのね。。。

このデータを処理するといってもどうして良いかも思い浮かばず。とりあえずのプロットをしてみます。

plot(bigcity, main="bigcity", asp=1)
abline(c(1,1), col='red', lwd=3)

結果はこんな感じ。plotRawData

赤線は、x = u の線です。つまり1920年と1930年で人口が変わらなかった線であります。だいたいの都市が上にあるので、人口は伸びていいるようです。一部人口が微減の都市もあることはあるみたいです。

伸び率でみてみる

まずは1920年と30年の人口比を伸び率として変数 bigcity.Gに代入し、そのグラフを描いてみます。

bigcity.G <- bigcity$x / bigcity$u
plot(bigcity.G, main="bigcity Growth rate")
abline(h=1.0, col='red', lwd=3)

結果が以下に。plotGrothRate

一つ人口が25倍にもなった都市があり、そいつのせいで他の都市はグラフの下の方に張り付いている感じっす。25倍のところをみてみると人口2千人が5万人になったという感じ。確かに伸び率凄いけれども人数の絶対値でいったら特殊事例かと思います。

全体の伸び率(サンプルされた49都市のだけれども)はどうよ、ということで以下のような計算してみました。

totalPopulation <- colSums(bigcity)
avgGroth <- totalPopulation[2] / totalPopulation[1]

結果が以下に。totalBigCity

たかだか十年間で人口が約24%も増えています。人口減が取りざたされている昨今のJapanと比較するとすごい伸び。まあ人数的にはトータル500万人強から630万人くらいなので大したことないですが。都市全体だとその4倍だから2000万が2500万くらいな感じ?

この数字が分かったので、先ほどの「異常に急成長」な5万都市を除くグラフを描いてみます。

plot(bigcity.G, main="bigcity Growth rate(Except >5)", xlab="city index", ylab="growth rate", ylim=c(0,5.0))
abline(h=1.0, col='red', lwd=1)
abline(h=avgGroth, col='green', lwd=1, lty=2)

こんな感じ。

plotGrowthRate_5赤の線が人口増減なしの線。緑の点線が上記で計算したサンプル49都市の合計からもとめた平均伸び率の線です。一部の「人気」都市が「牽引」していると言っていいんだろうか?知らんけど。

データのお砂場(96) R言語、beaver、デジャヴ?どこかでみた? bootパッケージ へ戻る

データのお砂場(98) R言語、boot、ブートストラップ法の使い方? bootパッケージ へ進む