[R-br] exportar um vetor do tipo list
Rubem Kaipper Ceratti
rubem_ceratti em yahoo.com.br
Quinta Abril 4 15:52:24 BRT 2013
Aline,
Supondo uma lista 'x' do tipo
x <- lapply(4:5, function(i) rnorm(i))
você pode criar um índice que identifique os vetores e exportar num data frame. P. ex.:
x.lista <- mapply(function(i, x) data.frame(i, x), 1:length(x), x, SIMPLIFY = F)
(x.df <- do.call(rbind, x.lista))
write.csv(x.df, "lista.csv", row.names = F)
Daí, em uma outra sessão, a lista original pode ser recuperada fazendo
x.df <- read.csv('lista.csv')
(x <- split(x.df$x, x.df$i))
Att.,
Rubem
________________________________
De: Aline Lipsky <line_lips em hotmail.com>
Para: programa r <r-br em listas.c3sl.ufpr.br>
Enviadas: Quinta-feira, 4 de Abril de 2013 14:04
Assunto: Re: [R-br] exportar um vetor do tipo list
Manoel,
Como minha lista tem 6000 vetores é mais fácil eu inserir NA nos vetores.
Qual função devo usar para isso?
Grata,
Aline F. Lipsky
________________________________
From: mcz.fea em gmail.com
Date: Tue, 2 Apr 2013 19:11:13 -0300
To: r-br em listas.c3sl.ufpr.br
Subject: Re: [R-br] exportar um vetor do tipo list
Aline, normalmente exportamos um data.frame para csv. E você quer exportar uma lista. Isso cria um problema. Tem duas possibilidades. Uma é transformar sua lista num data.frame. Como um data.frame é, tecnicamente, uma lista, não é um problema. De todo modo, o jeito mais fácil é fazer todos os vetores terem o mesmo tamanho, inserindo NA nos vetores de tamanho menores.
Outra possibilidade é você salvar cada vetor numa aba em excel, usando o pacote xlsx. Abaixo segue uma função que criamos aqui na empresa que salva sua lista em um arquivo de excel:
cria_xlsx <- function (ldf, arquivo) { # ldf é a lista, em que cada elemento da lista (se nomeado) é uma aba do excel. arquivo é como quer salvar o arquivo.
if (require(xlsx) == F) install.packages('xlsx')
wb <- createWorkbook()
lsheets <- as.list(1:length(ldf))
for (i in 1:length(ldf)) {
lsheets [[i]] <- createSheet(wb, sheetName=names(ldf)[[i]])
addDataFrame(ldf[[i]], lsheets[[i]], row.names=F)
}
saveWorkbook(wb, paste(getwd(), "/", arquivo, ".xlsx", sep=""))
}
após criar a função, assumindo que sua lista se chama lista, basta:
cria_xlsx(lista, "arquivo_export")
abçs
M
2013/4/2 Aline Lipsky <line_lips em hotmail.com>
>Boa tarde,
>
>
>Eu tenho um vetor do tipo list com vetores de tamanhos diferentes. Preciso exportar do r no formato "csv" ou "txt", mas não estou conseguindo.
>Alguém sabe se tem como fazer essa exportação?
>
>
>Grata,
>
>
>Aline F. Lipsky
>_______________________________________________
>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.
>
--
Manoel Galdino
https://sites.google.com/site/galdinomcz/
_______________________________________________
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.
_______________________________________________
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/20130404/26b570fe/attachment-0001.html>
Mais detalhes sobre a lista de discussão R-br