आर

2012-12-17 7 views
5

में महत्वपूर्ण द्वारा सूची की एक सूची छंटाई मैं निम्नलिखित सूची है:आर

myList <- list(list(a = 1,b = 1:5,x = 2), 
       list(a = 7,b = 9.1,x = 3), 
       list(a=-1, b = 0.2, x = 1)) 

और मैं कसौटी "x" द्वारा इस सूची में मेरी तत्वों को सॉर्ट करना चाहते हैं। मुझे यह कैसे करना है इस पर नुकसान हो रहा है। किसी भी तरह की सहायता का स्वागत किया जाएगा।

उत्तर

8
myList[order(sapply(myList, "[[", "x"))] 

चाल

[[1]] 
[[1]]$a 
[1] -1 

[[1]]$b 
[1] 0.2 

[[1]]$x 
[1] 1 


[[2]] 
[[2]]$a 
[1] 1 

[[2]]$b 
[1] 1 2 3 4 5 

[[2]]$x 
[1] 2 


[[3]] 
[[3]]$a 
[1] 7 

[[3]]$b 
[1] 9.1 

[[3]]$x 
[1] 3 
+0

धन्यवाद स्वेन क्या करेंगे, यह पूरी तरह काम करता है! मुझे नहीं पता था कि चाल ठीक है (myList, "[[", "x") – S4M

+2

मुझे संदेह है कि '[['तेज़ है, लेकिन आप थोड़ी कम अजीब लग रही' mapply (get, 'x', MyList) '। –

+3

@MatthewPlourde यह 'sapply (myList, get, x =' x ')' के साथ भी किया जा सकता है। –