给定一个矩阵,提取具有最大值的列的行名是一个常见问题。
sapply(mat,2,which.max)
mat<-matrix(list(20,0,0,80,80,0,
20,0,40,0,40,20,
40,0,40,20,20,0,
0,80,40,20,20,20),ncol=6,byrow=T)
rownames(mat)<-c("A","C","G","T")
但是在这里,一些列有两个相似的最大值(在示例矩阵中,列 3 和 4)。默认情况下,脚本选择“A”在第 3 列和第 4 列中具有最大列值的行。我在编写脚本以在两个行名(A 和 T)之间随机选择时遇到问题,其中两者在第 3 列中都有最大值和 4. 对脚本的任何帮助表示赞赏。