[R-br] Converter list em data.frame

Thiago Veloso thi_veloso em yahoo.com.br
Segunda Agosto 27 14:41:54 BRT 2012


  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 em yahoo.com.br>
To: Lista R <r-br em 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 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.



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