2013-08-19 14 views
6

के लिए न्यूनतम कॉलम की अनुक्रमणिका लौटाएं मेरे पास डेटा.फ्रेम है जिसमें 4 कॉलम हैं (नीचे दिया गया है)। मैं प्रत्येक पंक्ति के लिए न्यूनतम कॉलम (VALUE नहीं) की अनुक्रमणिका ढूंढना चाहता हूं। किसी भी विचार को हासिल करने के लिए हिम्मत है?आर प्रत्येक पंक्ति

1 1 
2 4 
3 3 
4 3 

जो सभी पंक्तियों के लिए जारी है:

> d 
      V1   V2   V3   V4 
1 0.388116155 0.98999967 0.41548536 0.76093748 
2 0.495971331 0.47173142 0.51582728 0.06789924 
3 0.436495321 0.48699268 0.21187838 0.54139290 
4 0.313514389 0.50265539 0.08054103 0.46019601 
5 0.277275961 0.39055360 0.29594162 0.70622532 
6 0.264804739 0.86996266 0.85708635 0.61136741 
7 0.627344463 0.54277873 0.96769568 0.80399490 
8 0.814420492 0.35362949 0.39023446 0.39246250 
9 0.517459983 0.65895805 0.93662382 0.06762166 
10 0.498319937 0.67081260 0.43225997 0.42139151 
11 0.046862110 0.97304915 0.06542971 0.09779383 
12 0.619009734 0.82363618 0.14514799 0.52858058 
13 0.007262782 0.82203403 0.08573499 0.61094206 
14 0.001602586 0.33241230 0.57762669 0.45285004 
15 0.698388370 0.83541257 0.21051568 0.84431347 
16 0.296088411 0.34363164 0.02179999 0.70551493 
17 0.897869571 0.50625928 0.92861583 0.61249019 
18 0.372497428 0.29025182 0.23201891 0.55737699 
19 0.172931860 0.03604668 0.50291560 0.10850847 
20 0.988827604 0.15800337 0.87999839 0.09899663 

तो मैं निम्नलिखित उत्पादन करना चाहते हैं। धन्यवाद

उत्तर

15

आपका अंग्रेजी विवरण से पता चलता है आप चाहते हैं:

apply(df, 1, which.min) 

लेकिन आप जो उत्तर देंगे वेक्टर के रूप में स्वरूपित नहीं है और अगर इसके बाद के संस्करण व्याख्या सही है सही जवाब नहीं है। ओह रुको, आप rownumbers की उम्मीद कर रहे थे।

as.matrix(apply(d, 1, which.min)) 

    [,1] 
1  1 
2  4 
3  3 
4  3 
5  1 
6  1 
7  2 
8  2 
9  4 
10 4 
11 1 
12 3 
13 1 
14 1 
15 3 
16 3 
17 2 
18 3 
19 2 
20 4 
संबंधित मुद्दे