我有一个非零对称矩阵'matr',即12000X12000.我需要找到R中'matr'中前10000个元素的索引.我写的代码需要很长时间 - 我想知道是否有任何指针可以让它更快.
listk <- numeric(0)
for( i in 1:10000) {
idx <- which(matr == max(matr), arr.ind=T)
if( length(idx) != 0) {
listk <- rbind( listk, idx[1,])
matr[idx[1,1], idx[1,2]] <- 0
matr[idx[2,1], idx[2,2]] <- 0
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个看起来像这样的矢量
[12,3,4,5,6,7,8,12]
Run Code Online (Sandbox Code Playgroud)
我想找到索引和前三个最大数字的值.最大数字也可以像上面的矢量12重复那样重复.
我用了
哪一个
但它只返回一个数字的索引如何才能完成
输出
[12,12,8]
[1,8,7]
Run Code Online (Sandbox Code Playgroud)
我也读过这个Stack Overflow,但它没有帮助