JMFA
JMFA

Reputation: 25

Find Minimum positive value in each row (exclude 0)

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?

Upvotes: 2

Views: 10668

Answers (2)

jalorod
jalorod

Reputation: 1

This variation on your approach works for me:

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

Upvotes: -2

Gregor Thomas
Gregor Thomas

Reputation: 145745

You can do this with an anonymous function.

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

Upvotes: 10

Related Questions