2012-05-01 22 views
5

ठीक है, मैंने आर में कुछ बुनियादी कार्यों को जानने का फैसला किया है, मैंने sort.list() फ़ंक्शन पर ठोकर खाई है। मुझे बहुत सीधे sort() फ़ंक्शन मिल जाता है, लेकिन sort.list() का विचार प्राप्त न करें। मैंने पढ़ा है कि यह मेरे वेक्टर की सामग्री को पुन: व्यवस्थित करने के लिए क्रमपरिवर्तन फ़ंक्शन होना चाहिए (किसी भी तरह से)।आर में क्रमबद्ध() और sort.list() के बीच क्या अंतर है?

वेक्टर होने के बाद;

x <- c(5.0, 3.0, 2.0, 2.2, 0.0, 5.0, 3.0, 2.0, 2.2) 

रनिंग sort.list(x) आउटपुट

[1] 5 3 8 4 9 2 7 1 6 

कहाँ कि से आया? क्या कोई मुझे संकेत दे सकता है? और वैसे भी इस क्रमपरिवर्तन का उपयोग क्या है?

धन्यवाद।

उत्तर

7

sort.list, के रूप में यह ?sort.list पर कहते हैं, order तरह ही, लेकिन बजाय ... के माध्यम से कई तर्क को स्वीकार करने, यह एक तर्क के रूप में केवल एक परमाणु वेक्टर स्वीकार करता है।

संभवतः, यह order के "तेज़" या "सरल" संस्करण के रूप में लक्षित किया जा सकता है।

यह कितना अच्छा है? इस पर विचार करें:

x <- c(5.0, 3.0, 2.0, 2.2, 0.0, 5.0, 3.0, 2.0, 2.2) 
> x[sort.list(x)] 
[1] 0.0 2.0 2.0 2.2 2.2 3.0 3.0 5.0 5.0 
> x[order(x)] 
[1] 0.0 2.0 2.0 2.2 2.2 3.0 3.0 5.0 5.0 

बस order जैसे कि यह एक क्रमचय है कि जब सूचकांक के लिए इस्तेमाल किया मूल सदिश यह सॉर्ट करता देता है।

लेकिन मुझे यह भी लगता है कि नाम उलझन में है।

+0

धन्यवाद! मैंने पढ़ा? Sort.list, लेकिन इसके विचार को समझने में असफल रहा। मुझे ये अब मिला। मान लीजिए कि सॉर्ट किए गए क्रम में मूल्य की स्थिति में sort.list() के वापसी मूल्य के (स्पष्ट) संबंध को नहीं मिला ... – Alex

+0

@Alex मुझे 'रैंक' देखने में काफी समय लगा , 'ऑर्डर' और 'सॉर्ट' हर बार जब मैंने उन्हें इस्तेमाल किया, तो मैं इसे सीधे अपने सिर में रख सकता था जो प्रत्येक ने किया था। – joran

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