fortunes
パッケージとは
R には fortunes
というパッケージがある。これは、Rに関するさまざまな名言を収録したパッケージで、CRAN から手に入れることができる。
このパッケージに載っている名言の例をいくつか紹介しよう。
I think that it’s generally a good idea not to resist the most natural way of programming in R.
(訳:Rでの一番自然なプログラミングのやり方に逆らわないことが、一般的には良い考えだと思うんだ。)
Please don’t apply R like a magic answers box, because you can mislead others and cause harm.
(訳:魔法で答える箱のようにRを使わないでくれませんか。他の人を惑わして、被害を引き起こす可能性がありますから。)
Most optimization problems have more than one answer, and the “wrong” ones often seem to be easier to find.
(訳:ほとんどの最適化問題は2つ以上の答えがある。そして、往々にして「間違っている」方が見つけやすいようなんだ。)
As for elegance, R is refined, tasteful, and beautiful. When I grow up, I want to marry R.
(訳:エレガンスさについて言えば、Rは洗練されていて、品が良く、見事なものなんだ。大きくなったら、Rと結婚したい。)
名言と呼ぶよりも迷言と呼んだ方がよいものも含まれている気がするが、それもまた一興。
なお、このパッケージに収録されている名言の一覧は、fortunes
パッケージの vignettes に載っている。2016年12月29日に出たバージョン 1.5-4 では386件の名言が載っている。
fortunes
パッケージの基本的な使い方
インストール
fortunes
パッケージは、CRAN から提供されているので、Rのコンソールから install.packages("fortunes")
とコマンドを入れればインストールすることができる。パッケージ名は fortunes と複数形になっていることに注意。単数形の fortune ではない。
名言を表示する
fortunes
パッケージを読みこんだ後に、fortune()
というコマンドを入れることで、名言を1つ表示することができる。
library("fortunes") fortune() # # As for elegance, R is refined, tasteful, and beautiful. When I grow up, I want to marry R. # -- Andy Bunn (in a discussion about whether R is simple, powerful and elegant) # R-help (May 2005)
パッケージ名は fortunes と複数形になっているが、名言を表示するためのコマンドの方は、単数形で fortune となる。間違えないように気を付けよう。
なお、引数として文字列を与えると、その文字列を含む名言が1つ表示される ((厳密に言うと、引数の文字列で grep したときにマッチする名言が1つ表示される)) 。例えば、fortune("SAS")
で SAS を含む名言が1つ表示される。
Rのコンソール起動時に名言を表示する
Rのコンソール起動時に必ず名言を表示することも可能である。
R がインストールされているディレクトリの中の etc/Rprofile.site に以下のような記述がある。
# Give a fortune cookie, but only to interactive sessions # (This would need the fortunes package to be installed.) # if (interactive()) # fortunes::fortune()
ここの部分の後半の2行のコメントアウトを解除して、以下のようにする。
# Give a fortune cookie, but only to interactive sessions # (This would need the fortunes package to be installed.) if (interactive()) fortunes::fortune()
すると、R のコンソールを立ち上げるときに、以下のように fortunes
パッケージからの名言が表示されるようになる。

ここでは、etc/Rprofile.site の中身を書き換えたが、別にここでなくても、Rが起動時に読みにいく .Rprofile ファイルのたぐいに書いておけば同じことが達成できる。
なぜ fortunes
というのか
ところで、なぜ名言を表示するパッケージに fortunes
という名前がついているのだろうか。

北米の中華料理店では、フォーチュン・クッキー (fortune cookie) という菓子が出されることがある。この菓子の中には、紙片が入っていて、その紙片に占いの結果や名言などが書かれている。
このフォーチュン・クッキーにちなんだ Unix のコマンドとして fortune
というものがある。これは、さまざまな名言を表示するためのコマンドだ。おそらく、この Unix の fortune
からの連想で、Rにも fortunes
というパッケージが作られたのだろう。