我有一个数据框,其中包含一个因素,例如:
> 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。我怎样才能得到我想要的结果?