2014-01-08 197 views
0

我想將列表中的幾個矩陣組合成一個單一的大矩陣。我相信這是顯而易見的,但我正在用R編程讓自己的腳步變得溼潤。我嘗試了幾次嘗試,但沒有成功。任何幫助,將不勝感激。以下是名單:R;我想將幾個列表中的矩陣組合成一個矩陣

> list(allele.freq.locus.p) 
[[1]] 
[[1]]$locus1.allele1 
[[1]]$locus1.allele1$`123` 
      locus population allele number heterozygote 
1 locus1.allele1 population1 123  17   3 
7 locus1.allele1 population2 123  10   6 
8 locus1.allele1 population3 123  6   2 

[[1]]$locus1.allele1$`145` 
      locus population allele number heterozygote 
2 locus1.allele1 population1 145  7   3 
4 locus1.allele1 population2 145  10   4 
6 locus1.allele1 population3 145  11   3 

[[1]]$locus1.allele1$`165` 
      locus population allele number heterozygote 
3 locus1.allele1 population1 165  0   0 
5 locus1.allele1 population2 165  10   6 
9 locus1.allele1 population3 165  1   1 


[[1]]$locus2.allele1 
[[1]]$locus2.allele1$`233` 
      locus population allele number heterozygote 
10 locus2.allele1 population1 233  7   7 
14 locus2.allele1 population2 233  21   9 
16 locus2.allele1 population3 233  9   9 

[[1]]$locus2.allele1$`235` 
      locus population allele number heterozygote 
11 locus2.allele1 population1 235  3   3 
12 locus2.allele1 population2 235  3   3 
18 locus2.allele1 population3 235  0   0 

[[1]]$locus2.allele1$`245` 
      locus population allele number heterozygote 
13 locus2.allele1 population1 245  14   10 
19 locus2.allele1 population2 245  3   3 
20 locus2.allele1 population3 245  9   9 

[[1]]$locus2.allele1$`256` 
      locus population allele number heterozygote 
15 locus2.allele1 population1 256  0   0 
17 locus2.allele1 population2 256  3   3 
21 locus2.allele1 population3 256  0   0 


[[1]]$locus3.allele1 
[[1]]$locus3.allele1$`123` 
      locus population allele number heterozygote 
23 locus3.allele1 population1 123  8   4 
24 locus3.allele1 population2 123  10   8 
30 locus3.allele1 population3 123  6   4 

[[1]]$locus3.allele1$`145` 
      locus population allele number heterozygote 
25 locus3.allele1 population1 145  7   7 
27 locus3.allele1 population2 145  11   7 
29 locus3.allele1 population3 145  5   3 

[[1]]$locus3.allele1$`176` 
      locus population allele number heterozygote 
22 locus3.allele1 population1 176  9   5 
26 locus3.allele1 population2 176  9   7 
28 locus3.allele1 population3 176  7   5 

我想產生一個矩陣,看起來像這樣:

 locus population allele number heterozygote 
1 locus1.allele1 population1 123  17   3 
7 locus1.allele1 population2 123  10   6 
8 locus1.allele1 population3 123  6   2 
2 locus1.allele1 population1 145  7   3 
4 locus1.allele1 population2 145  10   4 
6 locus1.allele1 population3 145  11   3 
3 locus1.allele1 population1 165  0   0 
5 locus1.allele1 population2 165  10   6 
9 locus1.allele1 population3 165  1   1 
10 locus2.allele1 population1 233  7   7 
14 locus2.allele1 population2 233  21   9 
16 locus2.allele1 population3 233  9   9 
11 locus2.allele1 population1 235  3   3 
12 locus2.allele1 population2 235  3   3 
18 locus2.allele1 population3 235  0   0 
13 locus2.allele1 population1 245  14   10 
19 locus2.allele1 population2 245  3   3 
20 locus2.allele1 population3 245  9   9 
15 locus2.allele1 population1 256  0   0 
17 locus2.allele1 population2 256  3   3 
21 locus2.allele1 population3 256  0   0 
23 locus3.allele1 population1 123  8   4 
24 locus3.allele1 population2 123  10   8 
30 locus3.allele1 population3 123  6   4 
25 locus3.allele1 population1 145  7   7 
27 locus3.allele1 population2 145  11   7 
29 locus3.allele1 population3 145  5   3 
22 locus3.allele1 population1 176  9   5 
26 locus3.allele1 population2 176  9   7 
28 locus3.allele1 population3 176  7   5 
+0

你確定它是一個矩陣嗎?或者它是一個數據框的列表?嘗試'class(allele.freq.locus.p [[1]])' –

+0

已經在這裏回答:http://stackoverflow.com/questions/4227223/r-list-to-data-frame –

回答

3

這些看起來是data.frame S,不過沒有關係:

do.call("rbind", list.of.data) 
相關問題