假设我有一个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