R:每列最小值的行号
Posted
技术标签:
【中文标题】R:每列最小值的行号【英文标题】:R: row number of the minimum value in each column 【发布时间】:2014-07-23 10:46:13 【问题描述】:我有一个矩阵,现在我搜索每个列的最小值。我有下一个代码:
error.mars1[which(error.mars1==0)] = NA
minValue = min(error.mars1[,2],na.rm=T)
我使用 NA 是因为我想要一个非零的最小值。所以这是为了获得第 2 列的平均值。但现在我想要这是最小值的行号。有人可以帮我吗?
【问题讨论】:
你在一小时前问了一个同样的问题,它在那里得到了回答...... R: Get the row and column name of the minimum element of a matrix but with minimum != 0的可能重复 对,但后来我使用了 min(which(error.mars1[,2] == minValue) @Silke 您以它为例,但我认为您的问题很清楚,您需要所有列的值,而不仅仅是第二个 :) 感谢您改变主意。我将删除我的上述评论不再相关 【参考方案1】:尝试:
which(error.mars1[,2] == minValue)
【讨论】:
【参考方案2】:一般情况下,您所询问的内容是:
apply(error.mars1, 2, function(x) which(x == min(x, na.rm=TRUE)))
或者:
apply(error.mars1, 2, which.min)
【讨论】:
列的第二个元素必须为 2,并且您的第二个提案给出的结果与第一个相同(我测试过)。我编辑了你的答案。 谢谢。我只是没有 R 我现在要测试的地方:) 第二个只是第一个的简短形式。以上是关于R:每列最小值的行号的主要内容,如果未能解决你的问题,请参考以下文章