[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