次のような要素を含むデータフレームがあります。
> var1 <- gl(10, 2, labels=letters[1:10])
> var2 <- c(1:20)
> data <- data.frame(var1=var1,var2=var2)
> data
var1 var2
1 a 1
2 a 2
3 b 3
4 b 4
5 c 5
6 c 6
7 d 7
...
20 j 20
の特定の値に対して1と0として定義された二分変数を生成しようとしていますvar1
。ただし、次のコードを入力すると、次のようになります。
> data <- data.frame(var1=var1,var2=var2)
> data$var3 <- c(1[which(var1=="a" | var1=="b" | var1=="c" | var1=="d" |
var1=="e")], 0[which(var1=="f" | var1=="g" | var1=="h" | var1=="i" | var1=="j")])
私は次のようになります:
> data$var3
[1] 1 NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
最初の項目は1に変更されますが、残りはNAになります。どうすれば希望の結果を得ることができますか?