2017-03-21 74 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))) 

,或者你可以使用任何其他功能比順序排序的名字載體。