2012-05-23 2 views
0

현재 행렬을 사용하고 있으며 각 행에서 가장 낮은 양수 값을 찾고 싶습니다. 출력은 항상 0이 때문에각 행에서 최소 양수 값 찾기 (제외 0)

적용하여 (my.matrix는 1 분)

0을 제외하고 가장 낮은 값을 찾을 수있는 방법이 있나요 ... 작동하지 않습니다?

답변

5

익명 기능으로이 작업을 수행 할 수 있습니다.

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

친애하는 shujaa, 대단히 감사합니다! 완벽하게 작동했습니다! :) 건배, J – JMFA

+0

@ shujja 완료! :) – JMFA

-2
당신의 접근 방식에이 변화는 나를 위해 작동

:

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

'x> 0'은 부울 벡터입니다. TRUE와 FALSE는 TRUE이면 1로, 최소 일 때 FALSE가 0이됩니다. 이 대답은 0 이하의 숫자가 있으면 0을 반환하고 그렇지 않으면 1을 반환합니다. – Gregor