2013-08-19 55 views
6

我有一個data.frame,其中包含4列(如下所示)。我想查找每行最小列(NOT THE VALUE)的索引。任何想法hiw實現呢?R返回每行最小列的索引

> 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 

所以我想下面的輸出:

1 1 
2 4 
3 3 
4 3 

它繼續對所有行。 感謝

回答

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