DATE : 2007/05/08 (Tue)
棒の先端に項目名のある横棒グラフは、次の手順で描くことができます。
- 項目名のない横棒グラフを描く。
- 項目名を各棒の先端に描く。
例を描く際に使用するのは、1ユーロに対するユーロ圏各国通貨の換算レートです。このデータセットは R に内蔵されているので、以下を実行すると換算レートを表すベクトルが出てきます(「>」はプロンプトです)。help 関数で詳細を調べることもできます。
> euro
結果の一部を取り出すと、次のようになっています。
ATS BEF DEM ESP FIM FRF 13.760300 40.339900 1.955830 166.386000 5.945730 6.559570
ベクトルの各要素にはユーロ圏各国通貨の名前が付けられています。例えば、ATS はオーストリア・シリングです。
なお、R 2.5.0 Windows 版で動作を確認しています。
項目名のない横棒グラフを描く
項目名のない横棒グラフは次のように描きます。
> names.y <- barplot(euro, horiz = TRUE, names.arg = NA)
横棒グラフを描くには horiz = TRUE に設定します。項目名を表す names.arg 引数は、項目名を描かないように NA と設定します。なお、horiz = TRUE と設定すると下から順に棒グラフが描かれます。上から順に描くには、rev 関数を使って euro のベクトルを逆順にします。
ここで、 barplot 関数の戻り値を names.y に代入しています。barplot は、各棒の先端の中心座標(横棒グラフの場合は y 座標)をベクトルとして返します。
項目名を各棒の先端に描く
各棒の先端の中心座標を使って、項目名を描きます。
> text(euro, names.y, names(euro), pos = 4)
x 座標に棒グラフの長さ(=換算レート)を指定し、y 座標に各棒の先端の中心座標 names.y を指定します。euro のベクトルから names 関数を使って項目名を取り出します。文字列の配置を表す引数 pos は 4(座標の右側)に設定します。横棒グラフで項目を上から描いた場合は、ここでも euro のベクトルを逆順にします。
なお、上で描いたグラフは ITL(イタリア・リラ)の換算レートのきりが悪いため、この項目名だけ表示されません。そのような場合、以下のようにグラフの x 軸の範囲を調節します。
> names.y <- barplot(euro, horiz = TRUE, names.arg = NA, xlim=c(0, 2500)) > text(euro, names.y, names(euro), pos = 4)
x 軸の範囲を調節すると、きりが悪いために表示されない項目名も表示できるようになります。この例では、0 ~ 2500 に設定しました。
参考文献
DATE : 2007/05/06 (Sun)
『渋滞学』(西成活裕、新潮社、2006年)を読みました。
交通からインターネット、体内にいたるまで世界のあちこちに潜む渋滞現象を解き明かし、それらを解決する糸口を探る本です。また、広告や森林火災など、渋滞が望ましい状況に応用する糸口も書かれています。
内容は物理的で数学的です。ホースで水を出す場合、出口を絞れば水の勢いは増しますが、人の場合は出口を狭めると勢いは衰えます。それは、水と人では従う力学が異なるためなのだそうです。水はニュートン力学系、人は自己駆動粒子系に従うのだそうです。本書は、この自己駆動粒子系の話とも言えます。
「自己駆動粒子系」という字面を見ると、さらにややこしそうな話に見えますが、本書の中には数式がほとんどでてきません。というのも、ASEP という簡単なモデルを使っているからです。縦一列に並べた箱の中に玉をいくつか入れ、全ての玉を一つ前の箱に動かすとします。この時、一つ前の箱に玉が入っていれば動かす対象の玉を動かさないというルールを設けます。これが ASEP です。
この ASEP に様々なルールを加えたものをセルオートマトンでシミュレートすることで渋滞の現象を再現しています。簡単なモデルからここまで複雑な現象を再現できる部分は非常に面白く感じました。
それにしても、渋滞という現象がここまでいろいろな部分に潜んでいるとは驚きました。渋滞という概念の基に同じ解決手法が使えるという点に、渋滞学の幅の広さと奥深さを見ました。
しかし、人や物が集まれば、空間的な制約がある以上、そこに渋滞が発生するというのは十分ありうることなんですよね。人や物がさらに過密する将来に渡っても非常に役立つ分野になるのではないでしょうか。
(;^ω^)個人的には、部屋が物で溢れているので、そこをうまく整理する方法が欲しいのですが、これは渋滞学では無理そうですね。そもそも心がけがないと orz
DATE : 2007/05/05 (Sat)
『人はなぜ逃げおくれるのか ――災害の心理学』(広瀬弘忠、集英社、2004年)を読みました。
広辞苑第五版によると、
- 恐慌(恐れてあわてること)。
- (火事や地震などに遭った時に起る)群衆の混乱。個人の混乱状態にも言う。
がパニックの意味(恐慌の後のカッコは広辞苑による「恐慌」の意味)となっています。
災害にあったとき、平常心でいられる人は少ないと思います。私は自信ありません。
(;^ω^)能登半島地震やその余震では、被害はなかったにもかかわらず妙な高揚感を感じましたしね。
しかし、それが群衆の混乱としてのパニックには、特定の条件が揃わないと発展しないのだそうです。つまり、個人個人は不安や恐怖で精神的に不安定な状況下に置かれていても、先を争って他人を押しのけたりするような非合理な行動にはつながらないというのです。群衆の混乱が起こるには、以下の条件が主観的に成り立つ必要があるのだそうです。
- 過度の恐怖・不安
- 危険を逃れる方法がある
- その方法に緊迫的な時間的・空間的などの条件がある
- 周囲や全体の状況が把握できない
群衆の混乱が起きた時には、上の条件がほとんど満たされていたそうです。そして、現実には、群衆の混乱は滅多に起こらないのだそうです。ここから、混乱を恐れて情報を出し渋ったりすると、人々は避難行動を起こさず、逆に被害を拡大する結果になると本書は説いています。
「パニック」という言葉の中に、個人の不安(1番目の意味)と群衆の混乱(2番目の意味)が混在していること、また「パニック」という行動が傍から見て劇的なものなので、災害→群衆の混乱としてのパニック(パニック神話、災害心理の専門家がそのような常識を揶揄するときに使うそうです)に繋がるのでしょうね。
ただ、上の条件から見ると、下手な災害対策を行うと、逆に群衆の混乱をうながすことに繋がりそうな気がします。対策をする時点で、「危険を逃れる方法がある」という条件は確実に満たされます。そして、客観的には、危機から逃れる方法には時間的・空間的な制約が付いてまわります。すると、避難路などから時間的・空間的な制約をいかに感じさせないようにデザインするかが重要になってきます。本書でも、「パニックを防止するためには、(中略)きちんとした判断力を持った専門家による、微妙なサジ加減が大切」と述べられています。
ちなみに本書では、災害心理学の他にも、災害が社会に与える(必ずしも負の面だけでない)影響なども語られていて、災害が与える心理的・社会的な影響を一望できるものになっています。
DATE : 2007/05/04 (Fri)
4月28日をもって、ガンのたんぱく質研究を分散コンピューティングで行う Grid.org のプロジェクトが終了しました。
(;´Д`)PC を修理に出していた間に終了してしまったので、帰ってきた PC を起動するとまだ解析を行っていました。
足掛け3年半行ってきましたが、ただ PC を放置しておくだけで研究に貢献できるというのは魅力的なものでした。
私自身の最終結果は、次のようになっていました。
CPU 時間 | 2年182日 2時間53分31秒 |
解析結果数 | 1491個 |
次は、BOINC 系のプロジェクトに参加しようと思います。
参考
- UD-Team2chWiki 参加していたチームです。
- Team 2ch @ BOINC 移行先です。
DATE : 2007/05/03 (Thu)
修理に出していた PC がようやく帰ってきました。
(;^ω^)ちょうど連休に入ってしまったので、予定よりも遅くなってしまいました。
キーボードを全部交換したので、新品のように綺麗になっています。
これでやっと、いろいろと溜まっていた作業を再開できます。
(;^ω^)他の PC を家族から借りていましたが、家族が作業をするときは返さないといけなかったので、結局ほとんど使えませんでした。
(;´Д`)PCがないと、爪と牙のない猫のようなものですね……。