1
votes

I am currently working with a matrix and I want to find the lowest positive value in each row.

Using apply(my.matrix,1,min) won't work since the output will always be 0...

Is there a way to find the lowest value excluding 0?

2

2 Answers

9
votes

You can do this with an anonymous function.

apply(my.matrix, 1, FUN = function(x) {min(x[x > 0])})
-2
votes

This variation on your approach works for me:

apply(my.matrix, 1, FUN=function(x) {min(x>0)})