> SOECD<-c(2,2,2,2,2,2)
> TOECD<-rep(3,6)
> Sinterstate<-rep(4,6)
> testVar<-rep(5,6)
> data.raw<-data.frame(SOECD,TOECD,testVar,Sinterstate)
> data.raw
SOECD TOECD testVar Sinterstate
1 2 3 5 4
2 2 3 5 4
3 2 3 5 4
4 2 3 5 4
5 2 3 5 4
6 2 3 5 4
> for(i in 1:length(to.be.binary))
+ {
+ k <- which(colnames(data.raw) == to.be.binary[i])
+ data.raw[,k] <- as.integer(data.raw[,k])-1
+ }
> data.raw
SOECD TOECD testVar Sinterstate
1 1 2 5 3
2 1 2 5 3
3 1 2 5 3
4 1 2 5 3
5 1 2 5 3
6 1 2 5 3
>
其实自己运行一下结果就知道什么意思了。。。就是“to.be.binary”给出的列名,找data.raw中对应的列,对应值-1