Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R—元素在矩阵中的返回位置?_R_Matrix_Indexing - Fatal编程技术网

R—元素在矩阵中的返回位置?

R—元素在矩阵中的返回位置?,r,matrix,indexing,R,Matrix,Indexing,给定一个矩阵: [,1] [,2] [1,] 0 0.0 [2,] -1 0.8 在R中迭代矩阵并返回所有非零项的位置作为索引的最快方法是什么?这里有一种方法 m <- matrix(c(0, 1, 1, 0), nrow = 2) which(m != 0) mat = matrix(rnorm(9), 3, 3) which(mat !=0, arr.ind = T) @Cotton:Ramnath的回答添加了非常常用的信息,即有一个附加参数,可以产生面

给定一个矩阵:

      [,1] [,2]
[1,]    0  0.0
[2,]   -1  0.8
在R中迭代矩阵并返回所有非零项的位置作为索引的最快方法是什么?

这里有一种方法

m <- matrix(c(0, 1, 1, 0), nrow = 2)
which(m != 0)
mat = matrix(rnorm(9), 3, 3)
which(mat !=0, arr.ind = T)

@Cotton:Ramnath的回答添加了非常常用的信息,即有一个附加参数,可以产生面向矩阵的输出。因此,我认为他与其说同意,不如说在推断OP想要什么方面做得更好。@DWin Err,这不是@Ritchie的R代码中“或可能”之后的
TRUE
所做的吗?在教学环境中,不说出论点的形式很差,但两个答案是一样的。@DWin:没关系,不需要解释。很明显,你爱拉姆纳胜过爱我。我不会花一个下午坐在办公室的角落里,哭着画着投票结果的图片。你的问题应该是“哪条路最快?”然后它也会自己回答;)两天来,我一直在窃笑这个“哪条路最快”的笑话。我已经把它写进了博客,我非常喜欢它。
mat = matrix(rnorm(9), 3, 3)
which(mat !=0, arr.ind = T)