我正在处理一个函数,以便为每一行返回最大值的列名称。喜欢的东西:如何在R中替换NA与NA
colnames(x)[apply(x,1,which.max)]
然而,在提出申请前这样的功能是有一个直接的和通用的方式,以取代与NA(或任何其他任意字母等)的关系?
我有以下矩阵:
0 1
[1,] 5.000000e-01 0.5000000000
[2,] 9.901501e-01 0.0098498779
[3,] 9.981358e-01 0.0018641935
[4,] 9.996753e-01 0.0003246823
[5,] 9.998598e-01 0.0001402322
[6,] 1.303731e-02 0.9869626938
[7,] 1.157919e-03 0.9988420815
[8,] 6.274074e-07 0.9999993726
[9,] 1.659164e-07 0.9999998341
[10,] 6.517362e-08 0.9999999348
[11,] 8.951474e-06 0.9999910485
[12,] 5.070740e-06 0.9999949293
[13,] 1.278186e-07 0.9999998722
[14,] 9.914646e-08 0.9999999009
[15,] 7.058751e-08 0.9999999294
[16,] 2.847667e-09 0.9999999972
[17,] 1.675766e-08 0.9999999832
[18,] 2.172290e-06 0.9999978277
[19,] 4.964820e-06 0.9999950352
[20,] 1.333680e-07 0.9999998666
[21,] 2.087793e-07 0.9999997912
[22,] 2.358360e-06 0.9999976416
第一行具有用于我想与NA来替换变量相等的值。虽然这是简单的为这个特殊的例子,我希望能够以取代NA,他们出现在任何规模的矩阵,即在这个矩阵中的所有关系:
1 2 3
[1,] 0.25 0.25 0.5
[2,] 0.3 0.3 0.3
所有值将与NA除了取代为1 ,3]
我看过功能which.max.simple()
可以通过与NA更换处理的关系,但它似乎没有工作了,和处理关系的所有其他方法没有解决我的问题
我希望有道理
个谢谢, Ç
试图寻找与浮点数精确匹配的方式并不总是按照您认为的方式工作。请参阅[为什么这些数字不相等](http://stackoverflow.com/questions/9508518/why-are-these-numbers-not-equal) – MrFlick
如果您将所有关系替换为NA,并且并列值恰好是在行中的最大值,你将如何解决这个场景 – OdeToMyFiddle