I have a data.frame that contains 4 columns (given below). I want to find the index of the minimum column (NOT THE VALUE) for each row. Any idea hiw to achieve that?
我有一个包含4列的data.frame(如下所示)。我想找到每一行的最小列索引(不是值)。任何想法,以实现这一点?
> 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
So I want the following output:
所以我想要以下输出:
1 1
2 4
3 3
4 3
which continues for all the rows. Thanks
所有行都会继续。谢谢
1 个解决方案
#1
16
Your English description suggests you want:
您的英文描述表明您想要:
apply( df, 1, which.min)
But the answer you give is not formatted as a vector and is not the correct answer if the above interpretation is correct. Oh wait, you were expecting rownumbers.
但是,如果上述解释是正确的,您给出的答案不会被格式化为向量,并且不是正确的答案。哦等等,你在期待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
#1
16
Your English description suggests you want:
您的英文描述表明您想要:
apply( df, 1, which.min)
But the answer you give is not formatted as a vector and is not the correct answer if the above interpretation is correct. Oh wait, you were expecting rownumbers.
但是,如果上述解释是正确的,您给出的答案不会被格式化为向量,并且不是正确的答案。哦等等,你在期待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