Shruti - 8 months ago 52

R Question

I want to get the indices of non zero elements in a matrix.for example

`X <- matrix(c(1,0,3,4,0,5), byrow=TRUE, nrow=2);`

should give me something like this

`row col`

1 1

1 3

2 1

2 3

Can any one please tell me how to do that?

Answer

```
which(X!=0,arr.ind = T)
row col
[1,] 1 1
[2,] 2 1
[3,] 1 3
[4,] 2 3
```

If `arr.ind == TRUE`

and `X`

is an array, the result is a matrix whose rows each are the indices of the elements of `X`

Source (Stackoverflow)