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="Apple-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="Apple-style-span" style="font-family: Monospace; font-size: 13px; line-height: 17px; white-space: pre-wrap;"><pre tabindex="0" class="GD40030CLR" style="font-family: Monospace; font-size: 10pt ! important; outline-style: none; border-style: none; white-space: pre-wrap ! important; margin: 0px; line-height: 1.3;">
<span class="GD40030COR ace_keyword" style="white-space: pre; color: blue;">> </span><span class="GD40030CCR ace_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="Apple-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="Apple-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>