2009-01-01から1年間の記事一覧

R で無限長ベクトル

R

http://www.ibm.com/developerworks/jp/linux/library/l-r3/index.html の無限シーケンスをまねてやってみる。 # 初期値と数列を生成する関数を渡して、無限数列生成の関数を作る make_infinity <- function(init, func){ inf_vec <- init function(idx, len…

R をオブジェクト指向風に使ってみる

R

Rでは S4 メソッドでオブジェクト指向は行えるけど、手軽には使いにくい。 そこで、クロージャーと eval を使ってオブジェクト指向風なことをやってみる。 …というのは建前で、s「substitute と eval 使えばクロージャー内の関数呼べそう」と思ったから試し…

ライフゲーム続き

R

改善点 速度向上 インデックスのテーブル と 行列はベクトルであること を利用して outer を消した。そのおかげで apply の回数が 縦セル×横セル から 縦セル になった.。 状態の継続 前回は f() を実行するたびに初期状態から始まっていたが、2回目以降の f…

ライフゲーム

R

最近 R を触ってなかったので、リハビリがてらにhttp://ja.wikipedia.org/wiki/ライフゲーム:セルオートマトンを書いてみる。 ライフゲームを選んだのは、「部分行列アクセスを使えば簡単かも」と思ったから。 life_game <- function(x=40, y=40) { m <- mat…