2007年02月23日 18:00 [Edit]

R - 汎用言語としても素敵なんでR

ちょっとある事情で使い始めたのだけど、惚れてしまった。

「単なる」統計言語にしておくにはもったいない。


Perl, Python, Ruby, JavaScriptといったLightweight Languageを日常使っている人なら、それこそガンダムにはじめて乗ったアムロのごとく使えるのではないか。

ほんと、さわり程度であれば、「R言語 - Wikipedia」を見ただけでもつかめるし、左の「はじめてのS‐PLUS/R言語プログラミング」を読めば、ジャブローまで生き残れるぐらい使えるように使えてもおかしくないのでR。ちなみにWikipedia日本語版のR言語の説明は、珍しく英語版(R (programming language) - Wikipedia, the free encyclopedia)より懇切丁寧なのでR.

見た目上のRの一番の特長は、代入(assignment)が<-なこと。

a <- 42

という具合。関数も

square <- function(x){ x * x }

という具合で、JavaScriptを使っている人ならほとんど違和感なし。;がオプショナルな点なんかRubyやPythonみたいだし、実は定義が一行なら{}すらオプショナル。すごく直感的なのでR。

一つ気に入ったのは、代入は->でもいい点。

42 -> a

私は前々から「主な演算子では代入だけ右結合なのって変」と言ってきただけに、灯台下暗しという感じなのでR。

無名関数の再帰までできる点はほんとBravoでR。

> (function(n){if (n <= 1) return(n) else return(n * Recall(n - 1))})(10)
[1] 3628800

次のLL Eventでは是非取り上げて欲しいのでR。

Dan the R Newbie


この記事へのトラックバックURL

この記事へのトラックバック
ここまでは、いい。 だれでもわかるプログラミングの教え方もある……といいな - 狐の王国 じゃあ「c = a + b」はどうなるのか。 これはcという新しいバケツを用意し、aとbを足した数字を入れろという意味だ。
a = a + 1; /* って違和感あるはずなのに */【404 Blog Not Found】at 2009年07月10日 15:02
先週末、家からネットがつながらなかった。家では某光ファイバーでそもそもつないでい
複雑ネットワークのお勉強道具 from Python to Pajek【HPO:個人的な意見 ココログ版】at 2007年02月23日 21:22
この記事へのコメント
R言語、面白いですね。
比較的違和感の無い制御構文と、変数にベクトルや行列があることによる統計演算の容易さ、ユーザーによる追加パッケージ作成機能がいい感じの相乗効果をもたらしていると思います。
Posted by uncorrelated at 2009年02月17日 14:10
さわりの意味が違うような。最近はそういうふうに使われることの方が多いでしょうが。
Posted by aoi at 2007年02月25日 21:58
a = 42
のように代入はイコールでもできますよ。
Posted by s at 2007年02月24日 08:46
R?
なんか、自己責任とか甘えだとかうるさいので、あまり期待できないと思いますよ。
Posted by Bar at 2007年02月23日 20:46