<div dir="ltr">Não tão enxuta como a do Alessandro mas também resolve.<br><div><br><br>dados<- structure(list(sexo = c(1L, 0L, 1L, 0L, 1L, 0L), idade = c(44L, <br>63L, 52L, 51L, 32L, 33L), tempo = c(24, 28, 6, 27, 3.5, 5), q1 = c(4L, <br>1L, 4L, 4L, 1L, 1L), q2 = c(3L, 5L, 5L, 4L, 3L, 5L), q3 = c(3L, <br>2L, 4L, 4L, 2L, 1L), q4 = c(3L, 2L, 2L, 3L, 1L, 1L), q5 = c(2L, <br>3L, 5L, 3L, 4L, 1L), q6 = c(4L, 1L, 4L, 3L, 3L, 1L)), .Names = c("sexo", <br>"idade", "tempo", "q1", "q2", "q3", "q4", "q5", "q6"), class = "data.frame", row.names = c(NA, <br>-6L))<br><br>library(plyr)<br><br>a<-function(x){<br>      for (i in 1:length(x)){<br>           if (x[i] == 1) {<br>                   x[i] <- "Discordo totalmente"<br>           }<br>           if (x[i] == 2) {<br>                   x[i] <-"Discordo"<br>           }<br>           if (x[i] == 3) {<br>                   x[i]<-"Neutro"<br>           }<br>           if (x[i] == 4) {<br>                   x[i]<-"Concordo"<br>           }<br>           if (x[i] == 5) {<br>                   x[i]<-"concordo totalmente"<br>           }<br>   }<br>   return(x)<br>}<br> nomes<-names<br> transformado<-ddply(dados,.(c(names(teste[,4:9]))),a)<br>is.data.frame(transformado)<br><br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">Em 3 de dezembro de 2014 01:32, Alessandro Corrêa <span dir="ltr"><<a href="mailto:alessand22@yahoo.com.br" target="_blank">alessand22@yahoo.com.br</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"><div dir="ltr"><span>Prezado Alan,</span></div><div dir="ltr"><span><br></span></div><div dir="ltr"><span>O que foi isso? Mágica?</span></div><div dir="ltr"><span><br></span></div><div dir="ltr">Ú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.</div><div dir="ltr"><br></div><div dir="ltr">-----</div><div><span class=""><div><font size="3">x <- ... # Seu data.frame aqui</font></div></span><div><font size="3">vars <- sapply(c(1:63), function(x) { paste('Q', x, sep = "") })</font></div><span class=""><div><font size="3">new_labels <- c("Discordo totalmente", "Discordo", "Neutro", "Concordo", "Concordo totalmente")</font></div><div><font size="3"><br clear="none"></font></div><div><font size="3">for (var in vars) {</font></div><div><font size="3">    x[[var]] <- factor(x[[var]], label = new_labels, levels = 1:5)</font></div><div><font size="3">}</font></div></span><div><font size="3">----</font></div><div dir="ltr"><font size="3">Confesso que fiquei atordoado, não entendi nada, mas funcionou mesmo!</font></div><div dir="ltr"><font size="3">Pode explicar?</font></div><div dir="ltr"><font size="3"><br></font></div><div dir="ltr"><font size="3">Já salvei dos dados em .Rdata. </font></div><div dir="ltr"><font size="3"><br></font></div><div dir="ltr"><font size="3">Muitíssimo obrigado mesmo.</font></div><div dir="ltr"><font size="3"><br></font></div><div dir="ltr"><font size="3">Alessandro</font></div><div dir="ltr"><br></div></div> <div><br><br></div><div style="display:block"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div dir="ltr"> <font face="Arial"> Em Quarta-feira, 3 de Dezembro de 2014 0:32, Alan Fachini <<a href="mailto:alfakini@gmail.com" target="_blank">alfakini@gmail.com</a>> escreveu:<br> </font> </div><div><div class="h5">  <br><br> <div><div><div><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif">​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:</div><div style="font-family:arial,helvetica,sans-serif"><br clear="none"></div><div><font face="monospace">x <- ... # Seu data.frame aqui</font></div><div><font face="monospace">vars <- sapply(c(1:63), function(x) { paste('G', x, sep = "") })</font></div><div><font face="monospace">new_labels <- c("Discordo totalmente", "Discordo", "Neutro", "Concordo", "Concordo totalmente")</font></div><div><font face="monospace"><br clear="none"></font></div><div><font face="monospace">for (var in vars) {</font></div><div><font face="monospace">    x[[var]] <- factor(x[[var]], label = new_labels, levels = 1:5)</font></div><div><font face="monospace">}</font></div><div><span style="font-family:arial,helvetica,sans-serif"><br clear="none"></span></div><div><span style="font-family:arial,helvetica,sans-serif">Abs,</span></div></div><div><br clear="all"><div><div>alf.<br clear="none"></div></div>
<br clear="none"><div>2014-12-03 0:53 GMT-02:00 Alessandro Corrêa <span dir="ltr"><<a rel="nofollow" shape="rect" href="mailto:alessand22@yahoo.com.br" target="_blank">alessand22@yahoo.com.br</a>></span>:<br clear="none"><blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"><div>Prezados colegas,</div><div><br clear="none"></div><div>Estou com um banco de dados (x) no seguinte formato<div><br clear="none"></div><div>sexo idade tempo Q1 Q2 Q3 Q4 Q5 Q6 ...Q63</div><div>    1    44  24.0      4  3  3  3  2  4</div><div><div>    0    62  28.0      1  5  2  2  3  1</div><div>    1    52   6.0       4  5  4  2  5  4</div><div>    0    51  27.0      4  4  4  3  3  3</div><div>    1    32   3.5       1  3  2  1  4  3</div><div>    0    33   5.0       1  5  1  1  1  1</div></div><div><br clear="none"></div><div>As variáveis de Q1 a Q6 são variáveis na escala de Likert</div><div><div style="font-family:arial,sans-serif"><font size="3">1 = Discordo totalmente</font></div><div style="font-family:arial,sans-serif"><font size="3">2 = Discordo<br clear="none"></font></div><div style="font-family:arial,sans-serif"><font size="3">3 = Neutro<br clear="none"></font></div><div style="font-family:arial,sans-serif"><font size="3">4 = Concordo<br clear="none"></font></div><div style="font-family:arial,sans-serif"><font size="3">5 = Concordo totalmente</font></div></div><div style="font-family:arial,sans-serif"><font size="3"><br clear="none"></font></div><div style="font-family:arial,sans-serif"><font size="3">Gostaria de saber se é possível criar uma rotina ou se há uma função capaz de</font></div><div style="font-family:arial,sans-serif"><font size="3">formatar as variáveis de Q1 a Q63 em fatores com as etiquetas referentes a cada nível.</font></div><div style="font-family:arial,sans-serif"><font size="3"><br clear="none"></font></div><div style="font-family:arial,sans-serif"><font size="3">Se eu fosse fazer uma a uma, repetiria 63 vezes o seguinte comando para cada variável:</font></div><div style="font-family:arial,sans-serif"><font size="3"><br clear="none"></font></div><div><div style="color:rgb(34,34,34);font-family:arial"><font size="3"><font face="arial, sans-serif">x$Q1<-factor(x$Q1, label=c(</font><span style="font-family:arial,sans-serif">"Discordo totalmente", "Discordo", "Neutro", "Concordo", "Concordo totalmente"</span><font face="arial, sans-serif">), levels=1:5)</font></font></div><div style="color:rgb(34,34,34);font-family:arial"><font face="arial, sans-serif" size="3"><br clear="none"></font></div><div style="color:rgb(34,34,34);font-family:arial"><font face="arial, sans-serif" size="3">Acredito que haja uma maneira mais prática.</font></div><div style="color:rgb(34,34,34);font-family:arial"><font face="arial, sans-serif" size="3"><br clear="none"></font></div><div style="color:rgb(34,34,34);font-family:arial"><font face="arial, sans-serif" size="3">Obrigado desde já.</font></div><span><font color="#888888"></font></span><div style="color:rgb(34,34,34);font-family:arial"><font face="arial, sans-serif" size="3"><br clear="none"></font></div><div style="color:rgb(34,34,34);font-family:arial"><font face="arial, sans-serif" size="3"><br clear="none"></font></div><div style="color:rgb(34,34,34);font-family:arial"><font face="arial, sans-serif" size="3">Alessandro</font></div></div></div><div><font face="arial, sans-serif"><br clear="none"></font></div><div><br clear="none"></div></div></div><br clear="none">_______________________________________________<br clear="none">
R-br mailing list<br clear="none">
<a rel="nofollow" shape="rect" href="mailto:R-br@listas.c3sl.ufpr.br" target="_blank">R-br@listas.c3sl.ufpr.br</a><br clear="none">
<a rel="nofollow" shape="rect" href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br clear="none">
Leia o guia de postagem (<a rel="nofollow" shape="rect" href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br clear="none"></blockquote></div><br clear="none"></div></div></div><br><br></div>  </div></div></div> </div>  </div> </div><br>_______________________________________________<br>
R-br mailing list<br>
<a href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>
<a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>
Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código mínimo reproduzível.<br></blockquote></div><br></div>