R:当矩阵中有许多极小值时,我们如何在矩阵的行中选择极小值

  • 本文关键字:极小 选择 我们 许多 r matrix
  • 更新时间 :
  • 英文 :


假设我有一个3*4矩阵,如下所示:

M=[0.01,0.02,0.03,0.01

0.04、0.03、0.02、0.02

46,45,45,48]

为了找到最小值的频率,并找到M中哪个列有更多的最小值,我使用:

表(应用(M,1,whit.min((

但由于每行中有两个相等的最小值,因此函数只将第一列计算为最小值。

现在,我尝试使用一个函数来计算所有矩阵的最小值相等,例如,在30%的情况下(每行都是一个情况(,列1和列3是最小的。

您可以将一行中最小的所有列数作为一个字符串返回,并使用table来计数频率。

cnt <- table(apply(M,1,function(x) paste0(which(x == min(x)), collapse = '-')))

要计算比例,可以sort计数并计算比例。

prop.table(sort(cnt)) * 100

最新更新