ダミー変数の生成
Rで以下のようなダミー変数を生成するのに苦労しています。
私は年単位の時系列データ(期間1948-2009)を分析しています。2つの質問があります。
1.観測番号10、つまり1957年のダミー変数(値は1957年に1、それ以外は0)を生成するにはどうしたらよいでしょうか?
2.2. 1957年以前は0で、1957年以降2009年までは1となるダミー変数を作成するにはどうしたらよいでしょうか?
67
3
また、変数が多い場合に有効なオプションとして、
factor
やmodel.matrix
があります。これはインターセプトの列(すべての1)と、データセットの各年の列(1つを除く)を含み、それが"default"またはインターセプト値となります。
model.matrix
の
contrasts.arg`を操作することで、どのように"default"を選択するかを変更することができます。また、インターセプトを省略したい場合は、最初の列を削除するか、数式の最後に
+0
を追加します。お役に立てれば幸いです。
これらのダミー変数を生成する最も簡単な方法は、以下のようなものです。
より一般的には、
ifelse
を使って、条件に応じて2つの値を選択することができます。つまり、0~1のダミー変数の代わりに、何らかの理由で例えば4と7を使いたい場合は、ifelse(year == 1957, 4, 7)
となります。このようなダミー変数を扱うために私が通常行うことは
(1) 観測番号10、つまり1957年に対するダミー変数をどのようにして生成するか(1957年に1、それ以外は0とする)。