我有一个矩阵eval_matrix
,其维度为(200,45)
。我想获得每一行中出现次数最多的数字,并希望创建一个maj
行和一列的新矩阵200
。
我正在尝试:
maj=c()
for (i in nrow(eval_matrix)){
m=names(which.max(table(eval_matrix[i,])))
m<-as.numeric(m)
maj<-rbind(maj,m)
}
View(maj)
但这只是在新矩阵maj
中给我最后一行的结果。
这是怎么了?
答案 0 :(得分:1)
您还可以在矩阵的每一行上使用apply()
并将结果转换为一个单列矩阵。在一行中:
matrix(as.numeric(apply(eval_matrix, 1, function(x) names(which.max(table(x))))), ncol=1)