2012-08-27 10 views
5

मैं एक dataframe में निम्न डेटा है:किसी विशेष पंक्ति में मानों के आधार पर कॉलम पुन: क्रमबद्ध करें।

aa bb cc 
1 3 4 5 
2 5 4 3 
3 7 8 6 
.. 
100 33 63 55 

मैं अंतिम पंक्ति में मान के आधार स्तंभों को पुन: व्यवस्थित करने की जरूरत है। इस बदलाव का परिणाम होगा:

bb cc aa 
1 4 5 3 
2 4 3 5 
3 8 6 7 
... 
100 63 55 33 

उत्तर

6
x <- structure(list(aa = c(3L, 5L, 7L, 33L), bb = c(4L, 4L, 8L, 63L), 
    cc = c(5L, 3L, 6L, 55L)), .Names = c("aa", "bb", "cc"), 
    class = "data.frame", row.names = c("1", "2", "3", "100")) 
x[,order(-x[nrow(x),])] 
+0

धन्यवाद, क्या आप बता सकते हैं कि क्या -x [nrow ...] – learner

+3

'x [nrow (x),]' अंतिम पंक्ति देता है ... '-x [nrow (x),]' है इसके विपरीत, तो यह आपके इच्छित क्रम में टाइप करता है। आप 'x [, ऑर्डर (x [nrow (x),], घटते = TRUE) का उपयोग कर सकते थे]' इसके बजाय, लेकिन मैं कम टाइपिंग पसंद करता हूं। :) –

1

संख्या बिल्डिंग यहोशू उलरिच के जवाब पर, मामले में आप पंक्ति नाम द्वारा क्रमबद्ध करना चाहते हैं, बजाय:

x[, order(-x[which(rownames(x) == '100'), ]) ] 

जहां 100 उपरोक्त उदाहरण में पंक्ति का नाम है।

संबंधित मुद्दे

 संबंधित मुद्दे