我正在尝试根据已经存在的变量重新编码创建新变量。以下代码是我想出的。有没有更好的方法来做到这一点?例如,我是否必须提前创建单独的矩阵,或者可以轻松地在我现有的数据集中创建新变量?
rec<-c("col1", "col2", "col3", "col4")
recmat<-as.data.frame(matrix(NA,800, length(rec)))
recmat[, 1:length(rec)][0<=dat[,rec] & 1>=dat[,rec]]<-0
recmat[, 1:length(rec)][2<=dat[,rec] & dat[,rec]<=4]<-1
dat 的第一行如下所示:
col1 col2 col3 col4
1 NA NA NA NA
2 NA NA NA NA
3 NA NA NA 1
4 0 NA NA NA
5 0 NA NA NA
6 NA NA NA NA
7 0 0 0 NA