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).
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
for(i in 1:length(Indicador)) {
names(Indicador[[i]]) <- gsub("Pontos", "Total.pontos.atend", names(Indicador[[i]]))
names(Indicador[[i]]) <- gsub("Comercio", "Comercio", names(Indicador[[i]]))
names(Indicador[[i]]) <- gsub("(.)*Folha", "Liberada.folha", names(Indicador[[i]]))
names(Indicador[[i]]) <- gsub("(.)*Atendimento", "Ponto.atend", names(Indicador[[i]]))
}
onde, Indicador = list(), e as strings dentro do gsub são os nomes da variáveis originais e os nomes novos, respectivamente.
Porém acredito que exista uma forma mais eficaz, provavelmente sem usar o laço for.
Tentei de outra maneira (para o primeiro gsub do laço anterior) com
> gsub("Pontos", "Total.pontos.atend", lapply(Indicador, names))
Esse último gsub fez as mudanças, porém gera uma saída como
[1] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"
[2] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"
[3] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"
[4] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"
[5] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"
[6] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"
[7] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"
[8] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"
[9] "c(\"Nome\", \"Codigo\", \"Lotericos\", \"SAA\", \"SNC\", \"PAE\", \"Total.pontos.atend\")"
Aqui, "Pontos" foi alterado para "Total.pontos.atend".
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".
Abraços!
Cassiano Novais
Consultor economista
) e forneça código mínimo reproduzível.