0

I would like to combine several matrices from a list into a single large matrix. I am sure this is obvious but I am getting me feet wet with R programming. I have tried several attempts with the unlist function but to no avail. Any help would be appreciated. The following is the list:

> 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 

I would like to generate a matrix that looks like this:

       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 

1 Answers1

3

These look to be data.frames, but does not matter:

do.call("rbind", list.of.data)
Oleg Sklyar
  • 9,834
  • 6
  • 39
  • 62