<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span> Diego,</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal; "><span><br></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal; "><span> A sua dica resolveu o meu problema. Muito obrigado!</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal; "><span><br></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal; "><span> Esse pacote plyr é
muito útil! Já conhecia o reshape, do mesmo autor, mas ainda não tinha usado o plyr.</span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal; "><span><br></span></div><div style="color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; background-color: transparent; font-style: normal; "><span> Thiago.</span></div><div><br></div> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; "> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1"> <b><span style="font-weight:bold;">From:</span></b> Diego Bilski <diegobilski@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> Thiago Veloso <thi_veloso@yahoo.com.br> <br><b><span style="font-weight:
bold;">Cc:</span></b> "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br>; FHRB Toledo <fernandohtoledo@gmail.com> <br> <b><span style="font-weight: bold;">Sent:</span></b> Monday, August 27, 2012 3:21 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [R-br] Converter list em data.frame<br> </font> </div> <br>se você renomear os índices da sua lista antes, e.g.<br><br>> names(resd)<-c("tempo1", "tempo2", ..., "tempoN")<br><br>e depois aplicar a função ldply (não a laply), será criada uma coluna<br>.id com os nomes dos índices.<br><br>laply retorna um array<br>ldply retorna um data frame<br><br><br>Diego<br><br><br><br>2012/8/27 Thiago Veloso <<a ymailto="mailto:thi_veloso@yahoo.com.br" href="mailto:thi_veloso@yahoo.com.br">thi_veloso@yahoo.com.br</a>>:<br>> Caros Fernando e Diego,<br>><br>> Obrigado pelas sugestões. Ambas funcionaram, mas nenhuma delas guardou o índice da
lista.<br>><br>> Vejam abaixo as saídas dos comandos:<br>><br>>> df1 <- cbind(rep(1:length(resd), each = 15), do.call(rbind, resd)) Warning message: In cbind(rep(1:length(resd), each = 15), do.call(rbind, resd)) : number of rows of result is not a multiple of vector length (arg 1) > head(df1) value count<br>> [1,] 1 1 267<br>> [2,] 1 6 86<br>> [3,] 1 7 21<br>> [4,] 1 8 7<br>> [5,] 1 9 3683<br>> [6,] 1 10 537<br>><br>> -------------------------------------------------------------------------<br>><br>>> df2 <- laply(resd, data.frame) > head(df2) [[1]] value count<br>> 1 1 267<br>> 2 6 86<br>> 3 7 21<br>> 4 8
7<br>> 5 9 3683<br>> 6 10 537<br>> 7 11 135<br>> 8 12 17<br>> 9 13 74<br>> 10 NA 2228 [[2]] value count<br>> 1 1 2257<br>> 2 2 57<br>> 3 3 289<br>> 4 4 2<br>> 5 6 88<br>> 6 7 13<br>> 7 8 32<br>> 8 9 1137<br>> 9 10 756<br>> 10 11 99<br>> 11 12 22<br>> 12 13 67<br>> 13 14 1<br>> 14 15 7<br>> 15 NA 2228 [[3]] value count<br>> 1
1 2170<br>> 2 2 61<br>> 3 3 316<br>> 4 4 3<br>> 5 6 74<br>> 6 7 1<br>> 7 8 12<br>> 8 9 781<br>> 9 10 1100<br>> 10 11 66<br>> 11 12 160<br>> 12 13 46<br>> 13 14 9<br>> 14 15 28<br>> 15 NA 2228 [[4]] value count<br>> 1 1 2174<br>> 2 2 56<br>> 3 3 300<br>> 4 4 3<br>> 5 6 62<br>> 6 8 4<br>> 7
9 564<br>> 8 10 1317<br>> 9 11 75<br>> 10 12 113<br>> 11 13 42<br>> 12 14 85<br>> 13 15 32<br>> 14 NA 2228 [[5]] value count<br>> 1 1 2174<br>> 2 2 58<br>> 3 3 301<br>> 4 4 5<br>> 5 6 54<br>> 6 8 4<br>> 7 9 469<br>> 8 10 1393<br>> 9 11 83<br>> 10 12 76<br>> 11 13 41<br>> 12 14 136<br>> 13 15 33<br>> 14 NA 2228 [[6]] value count<br>> 1
1 2185<br>> 2 2 52<br>> 3 3 300<br>> 4 4 4<br>> 5 6 52<br>> 6 8 3<br>> 7 9 397<br>> 8 10 1457<br>> 9 11 83<br>> 10 12 74<br>> 11 13 38<br>> 12 14 146<br>> 13 15 36<br>> 14 NA 2228<br>><br>><br>> Um abraço,<br>> Thiago.<br>><br>><br>> ----- Original Message -----<br>> From: Thiago Veloso <<a ymailto="mailto:thi_veloso@yahoo.com.br" href="mailto:thi_veloso@yahoo.com.br">thi_veloso@yahoo.com.br</a>><br>> To: Lista R <<a ymailto="mailto:r-br@listas.c3sl.ufpr.br"
href="mailto:r-br@listas.c3sl.ufpr.br">r-br@listas.c3sl.ufpr.br</a>><br>> Cc:<br>> Sent: Monday, August 27, 2012 9:37 AM<br>> Subject: [R-br] Converter list em data.frame<br>><br>> Olá pessoal,<br>><br>> Uma dúvida básica: possuo uma lista de objetos que contam a frequência de valores (count) em classes (value). Nessa lista, cada índice ([[1]], [[2]] etc) corresponde a um passo de tempo. Vejam abaixo uma amostra:<br>><br>>> head(resd)<br>> [[1]] ! essa é a primeira unidade de tempo.<br>> value count<br>> [1,] 1 267 ! na classe '1' foram encontradas 267 ocorrências, e assim por diante<br>> [2,] 6 86<br>> [3,] 7 21<br>> [4,] 8 7<br>> [5,] 9
3683<br>> [6,] 10 537<br>> [7,] 11 135<br>> [8,] 12 17<br>> [9,] 13 74<br>> [10,] NA 2228<br>><br>> [[2]] ! essa é a segunda unidade de tempo.<br>> value count<br>> [1,] 1 2257 ! na classe '1' foram encontradas 2257 ocorrências, e assim por diante<br>> [2,] 2 57<br>> [3,] 3 289<br>> [4,] 4 2<br>> [5,] 6 88<br>> [6,] 7 13<br>> [7,] 8 32<br>> [8,] 9 1137<br>> [9,] 10 756<br>> [10,] 11
99<br>> [11,] 12 22<br>> [12,] 13 67<br>> [13,] 14 1<br>> [14,] 15 7<br>> [15,] NA 2228<br>><br>> [[3]]<br>> value count<br>> [1,] 1 2170<br>> [2,] 2 61<br>> [3,] 3 316<br>> [4,] 4 3<br>> [5,] 6 74<br>> [6,] 7 1<br>> [7,] 8 12<br>> [8,] 9 781<br>> [9,] 10 1100<br>> [10,] 11 66<br>> [11,] 12 160<br>> [12,] 13 46<br>> [13,] 14 9<br>> [14,] 15 28<br>>
[15,] NA 2228<br>><br>> [[4]]<br>> value count<br>> [1,] 1 2174<br>> [2,] 2 56<br>> [3,] 3 300<br>> [4,] 4 3<br>> [5,] 6 62<br>> [6,] 8 4<br>> [7,] 9 564<br>> [8,] 10 1317<br>> [9,] 11 75<br>> [10,] 12 113<br>> [11,] 13 42<br>> [12,] 14 85<br>> [13,] 15 32<br>> [14,] NA 2228<br>><br>> [[5]]<br>> value count<br>> [1,] 1 2174<br>> [2,] 2 58<br>> [3,] 3
301<br>> [4,] 4 5<br>> [5,] 6 54<br>> [6,] 8 4<br>> [7,] 9 469<br>> [8,] 10 1393<br>> [9,] 11 83<br>> [10,] 12 76<br>> [11,] 13 41<br>> [12,] 14 136<br>> [13,] 15 33<br>> [14,] NA 2228<br>><br>> [[6]]<br>> value count<br>> [1,] 1 2185<br>> [2,] 2 52<br>> [3,] 3 300<br>> [4,] 4 4<br>> [5,] 6 52<br>> [6,] 8 3<br>> [7,] 9 397<br>> [8,] 10
1457<br>> [9,] 11 83<br>> [10,] 12 74<br>> [11,] 13 38<br>> [12,] 14 146<br>> [13,] 15 36<br>> [14,] NA 2228<br>><br>> Como converter essa lista em um data.frame, mantendo o índice, e salvar em um arquivo ascii?<br>><br>> Agradece pelas dicas,<br>> Thiago.<br>> _______________________________________________<br>> R-br mailing list<br>> <a ymailto="mailto:R-br@listas.c3sl.ufpr.br" href="mailto:R-br@listas.c3sl.ufpr.br">R-br@listas.c3sl.ufpr.br</a><br>> <a href="https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br" target="_blank">https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br</a><br>> Leia o guia de postagem (<a href="http://www.leg.ufpr.br/r-br-guia" target="_blank">http://www.leg.ufpr.br/r-br-guia</a>) e forneça código
mínimo reproduzível.<br>><br><br><br> </div> </div> </div></body></html>