data = c(1,2,3,4)
names = c("foo", "bar", "baz", "yak")
d = data.frame(data, row.names=names)
यह रिटर्न:राउननाम खोए बिना, मैं केवल एक कॉलम के साथ डेटा.फ्रेम कैसे सॉर्ट कर सकता हूं?
data
foo 1
bar 2
baz 3
yak 4
अब, मैं पंक्ति के नाम संलग्न खोने के बिना कॉलम के आधार पर इस dataframe सॉर्ट करने के लिए, चाहते हैं। तो, मेरे परिणाम होगा:
data
yak 4
baz 3
bar 2
foo 1
मैं पहले से ही निम्नलिखित की कोशिश की है:
d[order(-d$data),]
है, जो निश्चित रूप से केवल मुझे एक आयामी सूची देता है।plyr
पैकेज है, जो पंक्ति के नाम चला जाता है सेarrange(d, desc(data))
।बाहर,
o = order(-d$data)
साथ आदेश को ढूंढें, फिरdata.frame(d[o,], row.names=rownames(d)[o])
... जो अभी भी मुझे गलत स्तंभ नाम के साथ छोड़ देता है साथ फ्रेम को फिर से संगठित।
क्या ऐसा करने के लिए कोई रास्ता है?
आह, दिलचस्प। मुझे किसी भी तरह से कीवर्ड "ड्रॉप" को पढ़ने के बाद ही इस बारे में पता नहीं चला, जो अब मुझे लगता है कि आर ड्रॉपिंग आयाम एक अच्छा विचार है या नहीं। मैं उस पर पढ़ूंगा। – slhck
मुझे लगता है कि हर कोई पहले से ही इस सवाल से पूछ चुका है। आर देवताओं की सर्वसम्मति यह थी कि यह डिफ़ॉल्ट इतना अच्छा नहीं था, लेकिन यह मौजूदा कोड को कंसोल किए बिना बदला नहीं जा सकता है। क्यू –
में ठीक किया जाएगा जब मैं इस समाधान का उपयोग करता हूं तो मैं अपनी सभी पंक्तियों को फ़िल्टर करता हूं लेकिन एक। ये कैसे हुआ? – Kory