2017-03-21 45 views
0

我正在使用R,并且我遇到了rbinding数据框的问题。 我的数据来自一个JSON文件和第一认为我所做的是相应的分割它染色体数目在rbind(R)之前重新排列数据框的列表

#Input 
Control <- fromJSON(file=O5) 
RNAi <- fromJSON(file=s25p5) 

#Loop throug each chromosome 
Control.1 <- lapply(Control, function(I) 
     { 
     data.frame(matrix(unlist(I),ncol = 1, byrow = TRUE)) 
}) 

的问题是,我现在有6 data.frame,但随机顺序

上的列表
str(Control.1) 

List of 6 

    $ II :'data.frame': 1771887 obs. of 1 variable: 
    ..$ matrix.unlist.I...ncol...1..byrow...TRUE.: num [1:1771887] 0 0 0 0 0 0 0 0 0 0 ... 
$ I :'data.frame': 1507243 obs. of 1 variable: 
    ..$ matrix.unlist.I...ncol...1..byrow...TRUE.: num [1:1507243] 0 0 0 0 0 0 0 0 0 0 ... 
$ III :'data.frame': 1378370 obs. of 1 variable: 
    ..$ matrix.unlist.I...ncol...1..byrow...TRUE.: num [1:1378370] 0 0 0 0 0 0 0 0 0 0 ... 

etc. 

我想重新排序,以便有$我作为第一个data.frame,然后II $等

我的目的是

后使用rbind

为了有一个数据帧包含所有的数据帧,但在正确的oder。

有没有人知道它是如何做到的?

谢谢!

回答

0

的字母顺序排列,你可以使用:

Control.2 <-do.call(rbind,Control.1[order(names(Control.1))) 

,或者你可以使用任何其他功能比顺序排序的名字载体。