2

data.frame (「UNCA」と呼ばれる) に 13 個の量的変数があります。

変数の名前は、q01_a、q01_b、...q01_m です。

同じ値を持つが因子としてコード化された 13 個の新しい変数を作成したいと考えています。

これら 13 個の新しい変数に q01_a.F、q01_b.F、...q01_m.F という名前を付けたいと思います。

どんな助けでも大歓迎です!

4

2 に答える 2

4
for (i in names(UNCA)) {
    UNCA[,paste(i,"F",sep='.')] <- as.factor(UNCA[,i])
}
于 2010-05-09T17:59:56.560 に答える
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)
于 2010-05-09T17:35:56.007 に答える