お金と数字と温泉を考えるブログ

お金と数字と温泉を考えています。

大阪環状線を多次元尺度構成法で書いてみる

f:id:umejiro330:20180503002403j:plain
京橋駅
大阪環状線とは
※また馬鹿な記事を書いています。
もはや関西人にとっては言うまでもありませんが、関西の中心を回している
血管のような存在です。
大阪環状線があるからこそ、人の流れが滞ることなく動き続けることができます。
代表的な駅として

大阪駅…北新地に代表される、通称「キタ」の地域。大阪駅は2011年に大阪ステーションシティという複合施設がオープンし綺麗な街並みが見れるようになった。が実際のところ私の思い出の大阪駅は汚ったない阪急のある駅です。

天王寺駅…奈良・和歌山方面へのハブ駅であり「ミナミ」エリアの入り口。最近は日本で最も高いビル「アベのハルカス」などを作って調子に乗っている。

京橋駅…「ヒガシ」と呼ばれる(ほぼ定着していません)大阪第三位の都市。サラリーマンと酔っ払いの町。

鶴橋駅…駅を降りたら焼き肉の町。

等があります。

多次元尺度構成法を使って大阪環状線を書く
www.macromill.com
多次元尺度構成法は、データから得られる個体間の親近性を、2次元もしくは3次元で表す方法です。

しばしば、この具体例として「山手線」の駅間距離を用いた例を目にしますが、
意外と大阪環状線は用いられていないんでは?という単純な動機です。

手順としては下記のように準備しました。
大阪環状線の代表駅(大阪駅京橋駅鶴橋駅天王寺駅今宮駅、西九条駅)の駅間の直線距離を求め、距離行列を作成する。
②①の距離行列に基づいて、多次元尺度構成法を用いた結果をプロットしてみる。

データは下記の通りです。

大阪 京橋 鶴橋 天王寺 今宮 西九条
大阪 0 3586 5126 6337 5374 3542
京橋 3586 0 3331 5713 6003 6430
鶴橋 5126 3331 0 2580 3700 6155
天王寺 6337 5713 2580 0 2074 5836
今宮 5374 6003 3700 2074 0 3953
西九条 3542 6430 6155 5836 3953 0

(単位はメートル)


ソースコード

d<-read.csv("…kanjo.csv",header=T)#距離行列を作ります
mds1<-cmdscale(d[,-1])#多次元尺度構成法はcmdscaleという関数を用います。d[,-1]は列名を削除しています。
plot(mds1,type="n")
par(family="HiraginoSans-W3")
text(mds1,colnames(d),col="Orange")#列名と各点を紐づけます。色はオレンジにしてみました。

この結果、以下の図がプロットされます。

f:id:umejiro330:20180502235822p:plain
多次元尺度構成法を用いて再現された大阪環状線
プロットされたグラフ自体は回転がかかっていないので回転させないといけないですが、若干実際のものと違うかな?という印象です。
特に天王寺駅今宮駅が離れすぎな気がします。(距離行列の出し方がまずかったかもしれません)

ということで、プロットされた図に肉付けしてみました。
f:id:umejiro330:20180503002523p:plain
まあ、それっぽくはなったでしょ(?)