Р вопрос. Использование lappy в data.frame и создание новых переменных с выводом

У меня есть 13 количественных переменных в data.frame (называемом «UNCA»).

Переменные называются q01_a, q01_b, ...q01_m.

Я хочу создать 13 новых переменных с одинаковыми значениями, но закодированными как фактор.

Я хотел бы назвать эти 13 новых переменных q01_a.F, q01_b.F, ...q01_m.F.

Любая помощь будет принята с благодарностью!


person Michael    schedule 09.05.2010    source источник
comment
Вы можете отредактировать свой предыдущий вопрос вместо того, чтобы задавать почти тот же stackoverflow.com/questions/2792215/   -  person Marek    schedule 10.05.2010


Ответы (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)
person kohske    schedule 09.05.2010

person    schedule
comment
Спасибо за ответ. Кто-то предлагал что-то подобное ранее, и по какой-то причине это дает мне неожиданную ошибку ввода. - person Michael; 09.05.2010
comment
@Michael Так почему ты не задаешь свой предыдущий вопрос? Этот вопрос почти идентичен вашему предыдущему вопросу. - person Marek; 10.05.2010