投稿

ラベル(order)が付いた投稿を表示しています

Rを使って福岡市の人口密度ランキング(町丁目単位)

イメージ
福岡県の市単位(政令指定都市は区単位)の人口密度単位のランキングは、↓こちらにあって、 福岡県の人口密度番付 - 都道府県・市区町村ランキング【日本・地域番付】   1位 福岡市 中央区(11770人/㎢)   2位 福岡市 城南区( 8031人/㎢)   3位 福岡市 南区 ( 7976人/㎢) となっております。トップは予想通りの福岡市中央区。 ただ、中央区と言ってもそれなりに広いし、人口密度にはムラがあるでしょうし、もしかしたら他の区にもギュギュっと人の密集しているエリアがあるかもしれません。 ということで、Rを使って町丁目単位(博多駅前1丁目とか、天神2丁目とか)でのランキングを出してみました。 とりあえず結果をどうぞ↓ 中央区全体の人口密度は 11770人/㎢ でしたが、中央区荒戸2丁目で人口密度を計算すると 49294人/㎢ と、4倍以上の数字を叩き出しました。 また、上位5位の荒戸、平尾、薬院、高砂はいずれも中央区の町名ですが、6位に入っている愛宕浜は西区にある町です。 西区と言えば福岡市の中では辺境ですし(注:著者の個人的なイメージです)、前述の市区単位のランキングでは17位とかなり下位にランキングされてました、 実は、この愛宕浜2丁目は室見川をはさんで早良区のすぐ対岸にあって、比較的都市部に近い場所なんですよね。そして、ほとんどマンションしかありません(他には中学校とマルキョウがある)。大抵のマンションは10階以上あるので、おのずと人口密度が高くなるわけですね。 ↓Google Earthで見てみるとこんな感じ では、最後にRスクリプトを載せておきます。 シェープファイルは↓こちらに書いてある方法で入手して、 e-Stat(統計局)で公開されているShapeファイルを、Rで表示する - Rプログラミングの小ネタ ↓このやり方でマージしました。 Rで複数のシェープファイルを結合する - Rプログラミングの小ネタ library ( maptools ) library ( ggplot2 )   # シェープファイルを読み込む pj <- CRS ( "+proj=longlat +datum=WGS84" ) shp <-r...

Rのデータフレームを降順でソートする(decreasing=Tを使わずに)

イメージ
ほんと、ちょっとした小ネタです。 ↓こちらの本を読んでいて知った(気付いた)方法。 RとRubyによるデータ解析入門 まず、サンプル用のデータフレームを作ります。 name <- c ( "Ana" , "Bill" , "Chris" , "Dan" , "Emily" ) age <- c ( 18 , 59 , 57 , 6 , 31 ) tbl <- data.frame ( name , age ) tbl   name age 1 Ana 18 2 Bill 59 3 Chris 57 4 Dan 6 5 Emily 31 このデータフレームを年齢順にソートしたい場合は、ソート結果のインデックスを返してくれるorder関数を使って、↓こんな風にしますよね。 tbl [ order ( tbl$age ) , ] name age 4 Dan 6 1 Ana 18 5 Emily 31 3 Chris 57 2 Bill 59 order関数のデフォルトは昇順なので、降順にしたい場合は、↓こうですよね。 tbl [ order ( tbl$age , decreasing=T ) , ] name age 2 Bill 59 3 Chris 57 5 Emily 31 1 Ana 18 4 Dan 6 でも、"decreasing=T"って打ち込むのって、けっこう面倒じゃないですか? あと、"decreasing"の綴りが思い付かなかったり(英語力・・・)。 【クイズ】マッチ棒を1本足すだけで、逆にしてください tbl [ order ( - tbl$age ) , ] name age 2 Bill 59 3 Chris 57 5 Emily 31 1 Ana 18 4 D...