私は要因である変数を持っています:
$ year : Factor w/ 8 levels "2003","2004",..: 4 6 4 2 4 1 3 3 7 2 ...
変数「year」が取る値に応じて値0または1をとる、「2003」、「2004」などの名前の8つのダミー変数を作成したいと思います。私が思いつくことができる最も近いものは
dt1 <- cbind (dt1, model.matrix(~dt1$year - 1) )
しかし、これは不幸な結果をもたらします
- ダミー変数の名前は、「2003」、「2004」などだけでなく、dt1$year2003です。
- NA行はによって完全に省略されているようです
model.matrix
(したがって、NAが変数に存在する場合、長さが異なるため、上記のコマンドは失敗しyear
ます)。
もちろん、より多くのコードでこれらの問題を回避することはできますが、(理由の範囲内で)コードをできるだけ簡潔にするのが好きなので、ダミー変数を作成するためのより良い方法を誰かが提案できれば、私は義務付けられます。