[R-br] Formatação de várias variáveis

Alessandro Corrêa alessand22 em yahoo.com.br
Quarta Dezembro 3 02:32:01 BRST 2014


Prezado Alan,
O que foi isso? Mágica?
Única alteração que fiz foi trocar o G pelo Q. Inclusive saltou as primeiras 3 variáveis que eram sexo, idade e tempo que não deveriam ser alteradas pela função.
-----x <- ... # Seu data.frame aquivars <- sapply(c(1:63), function(x) { paste('Q', x, sep = "") })new_labels <- c("Discordo totalmente", "Discordo", "Neutro", "Concordo", "Concordo totalmente")
for (var in vars) {    x[[var]] <- factor(x[[var]], label = new_labels, levels = 1:5)}----Confesso que fiquei atordoado, não entendi nada, mas funcionou mesmo!Pode explicar?
Já salvei dos dados em .Rdata. 
Muitíssimo obrigado mesmo.
Alessandro
 

     Em Quarta-feira, 3 de Dezembro de 2014 0:32, Alan Fachini <alfakini em gmail.com> escreveu:
   

 ​Oi Alessandro, deve ter uma forma mais elegante de se fazer isso no R, mas você pode usar isso aqui para solucionar seu problema rapidamente:
x <- ... # Seu data.frame aquivars <- sapply(c(1:63), function(x) { paste('G', x, sep = "") })new_labels <- c("Discordo totalmente", "Discordo", "Neutro", "Concordo", "Concordo totalmente")
for (var in vars) {    x[[var]] <- factor(x[[var]], label = new_labels, levels = 1:5)}
Abs,
alf.

2014-12-03 0:53 GMT-02:00 Alessandro Corrêa <alessand22 em yahoo.com.br>:

Prezados colegas,
Estou com um banco de dados (x) no seguinte formato
sexo idade tempo Q1 Q2 Q3 Q4 Q5 Q6 ...Q63    1    44  24.0      4  3  3  3  2  4    0    62  28.0      1  5  2  2  3  1    1    52   6.0       4  5  4  2  5  4    0    51  27.0      4  4  4  3  3  3    1    32   3.5       1  3  2  1  4  3    0    33   5.0       1  5  1  1  1  1
As variáveis de Q1 a Q6 são variáveis na escala de Likert1 = Discordo totalmente2 = Discordo
3 = Neutro
4 = Concordo
5 = Concordo totalmente
Gostaria de saber se é possível criar uma rotina ou se há uma função capaz deformatar as variáveis de Q1 a Q63 em fatores com as etiquetas referentes a cada nível.
Se eu fosse fazer uma a uma, repetiria 63 vezes o seguinte comando para cada variável:
x$Q1<-factor(x$Q1, label=c("Discordo totalmente", "Discordo", "Neutro", "Concordo", "Concordo totalmente"), levels=1:5)
Acredito que haja uma maneira mais prática.
Obrigado desde já.

Alessandro


_______________________________________________
R-br mailing list
R-br em listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.




   
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141203/e78a51d2/attachment-0001.html>


Mais detalhes sobre a lista de discussão R-br