[R-br] Converter list em data.frame

Diego Bilski diegobilski em gmail.com
Segunda Agosto 27 12:44:20 BRT 2012


você pode usar a função ldply() do pacote plyr

> dframe <- ldply(resd, data.frame)

mas antes é preciso atribuir nomes aos índices da sua lista.


Diego


> Message: 2
> Date: Mon, 27 Aug 2012 05:37:12 -0700 (PDT)
> From: Thiago Veloso <thi_veloso em yahoo.com.br>
> To: Lista R <r-br em listas.c3sl.ufpr.br>
> Subject: [R-br] Converter list em data.frame
> Message-ID:
>         <1346071032.86187.YahooMailNeo em web121903.mail.ne1.yahoo.com>
> Content-Type: text/plain; charset=iso-8859-1
>
>  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.
>
>


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