2017-03-21 4 views
0

Ich arbeite mit R und ich habe ein Problem mit rbinding Datenrahmen. Meine Daten stammen aus einer Json-Datei und die erste denke ich getan habe, ist es entsprechend Chromosome Zahl aufzuspaltenOrdnen Sie eine Liste von Datenrahmen vor 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)) 
}) 

Das Problem ist, dass ich jetzt eine Liste von 6 data.frame haben, aber auf einer zufälligen Reihenfolge

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. 

ich mag würde sie, um neu zu ordnen $ ich als erste data.frame zu haben, dann $ II usw.

mein Ziel rbind nach

zu verwenden ist

um einen Datenrahmen zu haben, der den gesamten Datenrahmen enthält, aber in der richtigen Reihenfolge.

Hat jemand eine Idee, wie es gemacht werden könnte?

Vielen Dank!

Antwort

0

für alphabetische Reihenfolge können Sie:

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

oder Sie eine andere Funktion als um den Namen zu sortieren Vektor verwenden können.

Verwandte Themen