このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

2015-12-14から1日間の記事一覧

環境とフレームとエンクロージャ、クロージャ

「環境=フレーム+エンクロージャ」ということだが、 フレームは束縛セット(キー/値ベアの集合)であって、あえて言葉を作る必要なんてない。 単数形の束縛(binding)は使っているのだから、binding set とか a set of binding とでも言えば十分。 フレ…

歴史的遺物

Sとの互換性を考慮しているらしい。mode()とtypeof()の二本立てとか。storage.mode()もある。 かつてリストはpairlistの意味で、ベクトル(または新リスト)が今のリストだったようだ。 vectorコンストラクタでリストが作れるのはそんな理由か? これもSとの…

arrayが変だ

class(x) が"arry"と出ても、unclass(x)した後のmodeはベクトルだったりリストだったり。非常に紛らわしい。どうも、arrayは構造的タイピングのような仕掛けで、dimがあるとarrayと解釈するようだ。dimnamesも解釈する。matrixは単に次元が2の配列。これって…

for内の変数

for (i in 1:10) print(i) のiは環境を汚す。なんてこった。対処は: local({ for (i in 1:10) print(i) })

深い代入、永続代入

"ウィッカムは、"The deep assignment arrow, 関数内で

命名法の不統一

関数や変数の命名法がバラバラなのはしょうがないとしても、 > args(data.frame) function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, stringsAsFactors = default.stringsAsFactors()) NULL > args(sapply) function (X, FUN, ..., …