[R-br] Loop para mudar nomes de colunas em data.frames

FHRB Toledo fernandohtoledo em gmail.com
Quinta Agosto 20 17:21:12 BRT 2015


André,

Minha sugestão não exatamente sua resposta, mas pode ajudar:

data(iris)

list.data <- lapply(X = list('1' = iris, '2' = iris, '3' = iris),
                    FUN = function(data) with(data, tapply(Sepal.Length,
Species, length)))

Att,
FH

2015-08-20 15:09 GMT-05:00 André Vieira <andrehpv em gmail.com>:

> Pessoal,
>
> Quero rodar um loop que, em um dos comandos, adicione números em sequência
> (e.g. 1, 2, 3) apenas à segunda coluna de várias bases de dados. No meu
> caso, imaginei que precisaria usar um loop dentro de outro, mas não
> funcionou. (Ainda estou começando no R, como vocês podem perceber).
>
> Segue um exemplo mais simples com a base "iris":
>
> data1 <- iris
> data2 <- iris
> data3 <- iris
>
> list_data <- list(data1, data2, data3)
> list_emp <- vector("list", length(list_data))
>
> for(i in 1:length(list_data)){
>     file <- list_data[[i]]
>     Sepal.Length <- tapply(file$Sepal.Length, file$Species, length)
>     newData <- as.data.frame(Sepal.Length)
>     newData <- cbind(Species = rownames(newData), newData)
>     rownames(newData) <- NULL
>     list_emp[[i]] <- newData
>     for(j in 1:3){
>         colnames(list_emp[[i]][2]) <- paste("Sepal.Length", j, sep = "_")
> # Nao funciona
>     }
>     rm(Sepal.Length, file, i, newData)
> }
>
> O loop deveria retornar uma lista com data frames na forma:
>
> # Species    | Sepal.Length_1
> # setosa     |      50
> # versicolor |      50
> # virginia   |      50
>
> # Species    | Sepal.Length_2
> # setosa     |      50
> # versicolor |      50
> # virginia   |      50
>
> # Species    | Sepal.Length_3
> # setosa     |      50
> # versicolor |      50
> # virginia   |      50
>
> Alguém pode me ajudar a corrigir a linha que não funciona? Além disso,
> aceito sugestões que não sejam com for loops.
>
> Abs.,
>
> André
>
> --
> *André Vieira*
> Mestre, Sociologia, UFMG (M.Sc., Sociology, UFMG)
> Bacharel, Sociologia, UnB (B.Sc., Sociology, UnB)
> Licenciado, Sociologia, UnB (B.Ed., Sociology, UnB)
> GitHub <http://github.com/ahpvieira>
> Currículo Lattes <http://lattes.cnpq.br/6721713322923268>
> Skype: andre.hpv
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20150820/2cbf0eea/attachment.html>


Mais detalhes sobre a lista de discussão R-br