我在 data.frame 中有 13 个定量变量(称为“UNCA”)。
这些变量被命名为 q01_a、q01_b、...q01_m。
我想创建 13 个具有相同值但被编码为因子的新变量。
我想将这 13 个新变量命名为 q01_a.F、q01_b.F、...q01_m.F。
任何帮助将不胜感激!
我在 data.frame 中有 13 个定量变量(称为“UNCA”)。
这些变量被命名为 q01_a、q01_b、...q01_m。
我想创建 13 个具有相同值但被编码为因子的新变量。
我想将这 13 个新变量命名为 q01_a.F、q01_b.F、...q01_m.F。
任何帮助将不胜感激!
for (i in names(UNCA)) {
UNCA[,paste(i,"F",sep='.')] <- as.factor(UNCA[,i])
}
这不是一个漂亮的解决方案,但您可以通过
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)