[R] minimum of each row in a matrix

Vladimir Eremeev wl2776 at gmail.com
Tue May 8 15:32:13 CEST 2007


Looks like you are reading manuals and these mailings insufficiently
carefully.

?apply says that if its second argument is 1, it gives you what you want.

Gabor Csardi has also written you this.

If you have several vectors, not a single matrix, you can use pmin:
pmin(a[1,],a[2,],a[3,],a[4,],a[5,])
However, this variant is inefficient in this particular case (lots of
typing, and hardcoded).


Schmitt, Corinna wrote:
> 
> Hallo,
> 
> I just followed the discussion of the title: minimum from matrix.
> I have a similar problem.
> 
>> a=matrix(c(0,2, 0, 0, 1, 3, 0, 3, 2, 0, 3, 5, 0, 4, 0, 0),ncol=4)
>> a=rbind(a,1:4)
>> a
>      [,1] [,2] [,3] [,4]
> [1,]    0    1    2    0
> [2,]    2    3    0    4
> [3,]    0    0    3    0
> [4,]    0    3    5    0
> [5,]    1    2    3    4
>>
>> minOfColumns=apply(a, 2, function(x) min(x[x!=0]) )
>> minOfColumns
> [1] 1 1 2 4
>> maxOfColumns=apply(a, 2, function(x) max(x) )
>> maxOfColumns
> [1] 2 3 5 4
>>
> 
> How looks like the command for the minimum of the rows? I tried several
> possibilities with apply but did not get the wanted result. The result
> should be minOfRows = 0 0 0 0 1
> 
> 

-- 
View this message in context: http://www.nabble.com/minimum-of-each-row-in-a-matrix-tf3709616.html#a10375966
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list