<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 Fernando,</span></div><div dir="ltr"><span><br></span></div><div dir="ltr">Sua proposta é bem intuitiva, mas deu erro na linha:</div><div dir="ltr">transformado<-ddply(dados2,.(c(names(teste[,4:9]))),a)<br></div><div dir="ltr" id="yui_3_16_0_1_1417634471087_6871">Erro em eval(expr, envir, enclos) : objeto 'teste' não encontrado<br></div><div dir="ltr" id="yui_3_16_0_1_1417634471087_6870"><br></div><div dir="ltr">Em que momento defino "teste'?</div><div dir="ltr"><br></div><div dir="ltr" id="yui_3_16_0_1_1417634471087_6872">Alessandro</div><div dir="ltr" id="yui_3_16_0_1_1417634471087_6873"><br></div> <div class="qtdSeparateBR"><br><br></div><div class="yahoo_quoted" 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 size="2" face="Arial"> Em Quarta-feira, 3 de Dezembro de 2014 2:21, Fernando Antonio de souza <nandodesouza@gmail.com> escreveu:<br> </font> </div> <br><br> <div class="y_msg_container"><div id="yiv9609022701"><div><div dir="ltr">Não tão enxuta como a do Alessandro mas também resolve.<br clear="none"><div><br clear="none"><br clear="none">dados<- structure(list(sexo = c(1L, 0L, 1L, 0L, 1L, 0L), idade = c(44L, <br clear="none">63L, 52L, 51L, 32L, 33L), tempo = c(24, 28, 6, 27, 3.5, 5), q1 = c(4L, <br clear="none">1L, 4L, 4L, 1L, 1L), q2 = c(3L, 5L, 5L, 4L, 3L, 5L), q3 = c(3L, <br clear="none">2L, 4L, 4L, 2L, 1L), q4 = c(3L, 2L, 2L, 3L, 1L, 1L), q5 = c(2L, <br clear="none">3L, 5L, 3L, 4L, 1L), q6 = c(4L, 1L, 4L, 3L, 3L, 1L)), .Names = c("sexo", <br clear="none">"idade", "tempo", "q1", "q2", "q3", "q4", "q5", "q6"), class = "data.frame", row.names = c(NA, <br clear="none">-6L))<br clear="none"><br clear="none">library(plyr)<br clear="none"><br clear="none">a<-function(x){<br clear="none"> for (i in 1:length(x)){<br clear="none"> if (x[i] == 1) {<br clear="none"> x[i] <- "Discordo totalmente"<br clear="none"> }<br clear="none"> if (x[i] == 2) {<br clear="none"> x[i] <-"Discordo"<br clear="none"> }<br clear="none"> if (x[i] == 3) {<br clear="none"> x[i]<-"Neutro"<br clear="none"> }<br clear="none"> if (x[i] == 4) {<br clear="none"> x[i]<-"Concordo"<br clear="none"> }<br clear="none"> if (x[i] == 5) {<br clear="none"> x[i]<-"concordo totalmente"<br clear="none"> }<br clear="none"> }<br clear="none"> return(x)<br clear="none">}<br clear="none"> nomes<-names<br clear="none"> transformado<-ddply(dados,.(c(names(teste[,4:9]))),a)<br clear="none">is.data.frame(transformado)<br clear="none"><br clear="none"><br clear="none"></div></div><div class="yiv9609022701gmail_extra"><br clear="none"><div class="yiv9609022701gmail_quote">Em 3 de dezembro de 2014 01:32, Alessandro Corrêa <span dir="ltr"><<a rel="nofollow" shape="rect" ymailto="mailto:alessand22@yahoo.com.br" target="_blank" class="removed-link" href="">alessand22@yahoo.com.br</a>></span> escreveu:<br clear="none"><blockquote class="yiv9609022701gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="yiv9609022701yqt3144545787" id="yiv9609022701yqt13723"><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 clear="none"></span></div><div dir="ltr"><span>O que foi isso? Mágica?</span></div><div dir="ltr"><span><br clear="none"></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 clear="none"></div><div dir="ltr">-----</div><div><span class="yiv9609022701"></span><div><font size="3">x <- ... # Seu data.frame aqui</font></div><div><font size="3">vars <- sapply(c(1:63), function(x) { paste('Q', x, sep = "") })</font></div><span class="yiv9609022701"></span><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><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 clear="none"></font></div><div dir="ltr"><font size="3">Já salvei dos dados em .Rdata. </font></div><div dir="ltr"><font size="3"><br clear="none"></font></div><div dir="ltr"><font size="3">Muitíssimo obrigado mesmo.</font></div><div dir="ltr"><font size="3"><br clear="none"></font></div><div dir="ltr"><font size="3">Alessandro</font></div><div dir="ltr"><br clear="none"></div></div> <div><br clear="none"><br clear="none"></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 rel="nofollow" shape="rect" ymailto="mailto:alfakini@gmail.com" target="_blank" class="removed-link" href="">alfakini@gmail.com</a>> escreveu:<br clear="none"> </font> </div><div><div class="yiv9609022701h5"> <br clear="none"><br clear="none"> <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" ymailto="mailto:alessand22@yahoo.com.br" target="_blank" class="removed-link" href="">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" ymailto="mailto:R-br@listas.c3sl.ufpr.br" target="_blank" class="removed-link" href="">R-br@listas.c3sl.ufpr.br</a><br clear="none">
<a rel="nofollow" shape="rect" target="_blank" class="removed-link" href="">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" target="_blank" class="removed-link" href="">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 clear="none"><br clear="none"></div> </div></div></div> </div> </div> </div></div><br clear="none">_______________________________________________<br clear="none">
R-br mailing list<br clear="none">
<a rel="nofollow" shape="rect" ymailto="mailto:R-br@listas.c3sl.ufpr.br" target="_blank" class="removed-link" href="">R-br@listas.c3sl.ufpr.br</a><br clear="none">
<a rel="nofollow" shape="rect" target="_blank" class="removed-link" href="">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" target="_blank" class="removed-link" href="">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>