我在data.frame中有13个定量变量(称为“UNCA”)。
变量名为q01_a,q01_b,... q01_m。
我想创建13个具有相同值但被编码为因子的新变量。
我想将这13个新变量命名为q01_a.F,q01_b.F,... q01_m.F。
非常感谢任何帮助!
答案 0 :(得分:4)
for (i in names(UNCA)) {
UNCA[,paste(i,"F",sep='.')] <- as.factor(UNCA[,i])
}
答案 1 :(得分:2)
这不是一个漂亮的解决方案,但你可以做到
d<-data.frame(matrix(sample(26),ncol=13))
names(d)<-paste("q01_",letters[1:13],sep="")
d2<-data.frame(lapply(d,factor))
# or if each variable should have common levels of factor:
# d2<-data.frame(lapply(d,factor, levels=sort(unique(unlist(d)))))
names(d2)<-paste(names(d),"F",sep=".")
d<-cbind(d,d2)