<html><body><div style="color:#000; background-color:#fff; font-family:Courier New, courier, monaco, monospace, sans-serif;font-size:8pt"><div><span>Cassiano, uma forma alternativa é a rotina abaixo:</span></div><div><br><span></span></div><div><span>Suponha que você tenha um banco chamdado atual com as variáveis: </span>"Pontos", "Total.pontos.atend", "indicador" <br></div><div><br></div><div>e queira renomear essas variáveis para "pontuacao", "total_atend", "parametro".</div><div><br></div><div>Use a rotina:</div><div><br></div><div>novo<-data.frame(pontuacao=atual$Pontos,total_atend=atual$Total.pontos.atend,parametro= atual$indicador)
</div><div><br></div><div><br></div><div>Veja se funciona.</div><div><br>
</div>
<div>[]'s<br></div><div> </div><div>Edson Lira<br>Estatístico<br>Manaus-Amazonas<br></div><div style="font-family: Courier New, courier, monaco, monospace, sans-serif; font-size: 8pt;"><div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"><font face="Arial" size="2"><hr size="1"><b><span style="font-weight:bold;">De:</span></b> Cassiano <crns13@gmail.com><br><b><span style="font-weight: bold;">Para:</span></b> r-br@listas.c3sl.ufpr.br<br><b><span style="font-weight: bold;">Enviadas:</span></b> Terça-feira, 9 de Agosto de 2011 8:37<br><b><span style="font-weight: bold;">Assunto:</span></b> [R-br] mudança de nomes de colunas (variáveis) em uma lista<br></font><br><div id="yiv101028220">Olá pessoal, sou iniciante no R e estou quebrando a cabeça em um problema que, acho, deve ter uma solução simples. Tenho uma lista de data.frames com os mesmos nomes nas colunas (nomes das variáveis). No total são 8 itens
 (data.frames).<br>
Quero mudar o nome de algumas variáveis e estou usando para isso, gsub(). Com um laço for consegui executar a tarefa. O código que usei foi<br><br>for(i in 1:length(Indicador)) {<br>  names(Indicador[[i]]) <- gsub("Pontos", "Total.pontos.atend", names(Indicador[[i]]))<br>
  names(Indicador[[i]]) <- gsub("Comercio", "Comercio", names(Indicador[[i]]))<br>  names(Indicador[[i]]) <- gsub("(.)*Folha", "Liberada.folha", names(Indicador[[i]]))<br>  names(Indicador[[i]]) <- gsub("(.)*Atendimento", "Ponto.atend", names(Indicador[[i]]))<br>
}<br><br>onde, Indicador = list(), e as strings dentro do gsub são os nomes da variáveis originais e os nomes novos, respectivamente.<br><br>Porém acredito que exista uma forma mais eficaz, provavelmente sem usar o laço for.<br>
<br>Tentei de outra maneira (para o primeiro gsub do laço anterior) com <br><br><span class="yiv101028220Apple-style-span" style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Arial;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;font-size:medium;"><span class="yiv101028220Apple-style-span" style="font-family:Monospace;font-size:13px;line-height:17px;white-space:pre-wrap;"><pre class="yiv101028220GD40030CLR" style="font-family:Monospace;font-size:10pt;outline-style:none;border-style:none;white-space:pre-wrap;margin:0px;line-height:1.3;"><span class="yiv101028220GD40030COR yiv101028220ace_keyword" style="white-space:pre;color:blue;">> </span><span class="yiv101028220GD40030CCR yiv101028220ace_keyword" style="color:blue;">gsub("Pontos", "Total.pontos.atend", lapply(Indicador, names))</span></pre>
</span></span><br>Esse último gsub fez as mudanças, porém gera uma saída como<br><br><span class="yiv101028220Apple-style-span" style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Arial;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px;font-size:medium;"><span class="yiv101028220Apple-style-span" style="font-family:Monospace;font-size:13px;line-height:17px;white-space:pre-wrap;">[1] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"<br>
[2] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"<br>[3] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"<br>
[4] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"<br>[5] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"<br>
[6] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"<br>[7] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"<br>
[8] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"<br>[9] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"</span></span><br>
<br>Aqui, "Pontos" foi alterado para "Total.pontos.atend".<br><br>Se isso estiver certo como faço para atribuir o novo nome para os nomes das variáveis dos data.frames em cada item da lista "Indicador".<br>
<br>Abraços!<br><br>Cassiano Novais<br>Consultor economista<br>
</div><br>_______________________________________________<br>R-br mailing list<br><a ymailto="mailto:R-br@listas.c3sl.ufpr.br" 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><br></div></div></div></body></html>