Diego,

  A sua dica resolveu o meu problema. Muito obrigado!

  Esse pacote plyr é muito útil! Já conhecia o reshape, do mesmo autor, mas ainda não tinha usado o plyr.

  Thiago.


From: Diego Bilski <diegobilski@gmail.com>
To: Thiago Veloso <thi_veloso@yahoo.com.br>
Cc: "r-br@listas.c3sl.ufpr.br" <r-br@listas.c3sl.ufpr.br>; FHRB Toledo <fernandohtoledo@gmail.com>
Sent: Monday, August 27, 2012 3:21 PM
Subject: Re: [R-br] Converter list em data.frame

se você renomear os índices da sua lista antes, e.g.

> names(resd)<-c("tempo1", "tempo2", ...,  "tempoN")

e depois aplicar a função ldply (não a laply), será criada uma coluna
.id com os nomes dos índices.

laply retorna um array
ldply retorna um data frame


Diego



2012/8/27 Thiago Veloso <thi_veloso@yahoo.com.br>:
>  Caros Fernando e Diego,
>
>  Obrigado pelas sugestões. Ambas funcionaram, mas nenhuma delas guardou o índice da lista.
>
>  Vejam abaixo as saídas dos comandos:
>
>> 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
> [1,] 1    1  267
> [2,] 1    6    86
> [3,] 1    7    21
> [4,] 1    8    7
> [5,] 1    9  3683
> [6,] 1    10  537
>
> -------------------------------------------------------------------------
>
>> df2 <- laply(resd, data.frame) > head(df2) [[1]] value count
> 1      1  267
> 2      6    86
> 3      7    21
> 4      8    7
> 5      9  3683
> 6    10  537
> 7    11  135
> 8    12    17
> 9    13    74
> 10    NA  2228 [[2]] value count
> 1      1  2257
> 2      2    57
> 3      3  289
> 4      4    2
> 5      6    88
> 6      7    13
> 7      8    32
> 8      9  1137
> 9    10  756
> 10    11    99
> 11    12    22
> 12    13    67
> 13    14    1
> 14    15    7
> 15    NA  2228 [[3]] value count
> 1      1  2170
> 2      2    61
> 3      3  316
> 4      4    3
> 5      6    74
> 6      7    1
> 7      8    12
> 8      9  781
> 9    10  1100
> 10    11    66
> 11    12  160
> 12    13    46
> 13    14    9
> 14    15    28
> 15    NA  2228 [[4]] value count
> 1      1  2174
> 2      2    56
> 3      3  300
> 4      4    3
> 5      6    62
> 6      8    4
> 7      9  564
> 8    10  1317
> 9    11    75
> 10    12  113
> 11    13    42
> 12    14    85
> 13    15    32
> 14    NA  2228 [[5]] value count
> 1      1  2174
> 2      2    58
> 3      3  301
> 4      4    5
> 5      6    54
> 6      8    4
> 7      9  469
> 8    10  1393
> 9    11    83
> 10    12    76
> 11    13    41
> 12    14  136
> 13    15    33
> 14    NA  2228 [[6]] value count
> 1      1  2185
> 2      2    52
> 3      3  300
> 4      4    4
> 5      6    52
> 6      8    3
> 7      9  397
> 8    10  1457
> 9    11    83
> 10    12    74
> 11    13    38
> 12    14  146
> 13    15    36
> 14    NA  2228
>
>
>  Um abraço,
>  Thiago.
>
>
> ----- Original Message -----
> From: Thiago Veloso <thi_veloso@yahoo.com.br>
> To: Lista R <r-br@listas.c3sl.ufpr.br>
> Cc:
> Sent: Monday, August 27, 2012 9:37 AM
> Subject: [R-br] Converter list em data.frame
>
>  Olá pessoal,
>
>  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:
>
>> head(resd)
> [[1]]                ! essa é a primeira unidade de tempo.
>      value count
>  [1,]    1  267    ! na classe '1' foram encontradas 267 ocorrências, e assim por diante
>  [2,]    6    86
>  [3,]    7    21
>  [4,]    8    7
>  [5,]    9  3683
>  [6,]    10  537
>  [7,]    11  135
>  [8,]    12    17
>  [9,]    13    74
> [10,]    NA  2228
>
> [[2]]                ! essa é a segunda unidade de tempo.
>      value count
>  [1,]    1  2257    ! na classe '1' foram encontradas 2257 ocorrências, e assim por diante
>  [2,]    2    57
>  [3,]    3  289
>  [4,]    4    2
>  [5,]    6    88
>  [6,]    7    13
>  [7,]    8    32
>  [8,]    9  1137
>  [9,]    10  756
> [10,]    11    99
> [11,]    12    22
> [12,]    13    67
> [13,]    14    1
> [14,]    15    7
> [15,]    NA  2228
>
> [[3]]
>      value count
>  [1,]    1  2170
>  [2,]    2    61
>  [3,]    3  316
>  [4,]    4    3
>  [5,]    6    74
>  [6,]    7    1
>  [7,]    8    12
>  [8,]    9  781
>  [9,]    10  1100
> [10,]    11    66
> [11,]    12  160
> [12,]    13    46
> [13,]    14    9
> [14,]    15    28
> [15,]    NA  2228
>
> [[4]]
>      value count
>  [1,]    1  2174
>  [2,]    2    56
>  [3,]    3  300
>  [4,]    4    3
>  [5,]    6    62
>  [6,]    8    4
>  [7,]    9  564
>  [8,]    10  1317
>  [9,]    11    75
> [10,]    12  113
> [11,]    13    42
> [12,]    14    85
> [13,]    15    32
> [14,]    NA  2228
>
> [[5]]
>      value count
>  [1,]    1  2174
>  [2,]    2    58
>  [3,]    3  301
>  [4,]    4    5
>  [5,]    6    54
>  [6,]    8    4
>  [7,]    9  469
>  [8,]    10  1393
>  [9,]    11    83
> [10,]    12    76
> [11,]    13    41
> [12,]    14  136
> [13,]    15    33
> [14,]    NA  2228
>
> [[6]]
>      value count
>  [1,]    1  2185
>  [2,]    2    52
>  [3,]    3  300
>  [4,]    4    4
>  [5,]    6    52
>  [6,]    8    3
>  [7,]    9  397
>  [8,]    10  1457
>  [9,]    11    83
> [10,]    12    74
> [11,]    13    38
> [12,]    14  146
> [13,]    15    36
> [14,]    NA  2228
>
>  Como converter essa lista em um data.frame, mantendo o índice, e salvar em um arquivo ascii?
>
>  Agradece pelas dicas,
>  Thiago.
> _______________________________________________
> R-br mailing list
> R-br@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.
>