[R] sapply help

Ernest Adrogué nfdisco at gmail.com
Fri Feb 3 18:27:15 CET 2012


 3-02-2012, 08:37 (-0800); Filoche escriu:
> Hi every one.
> 
> I'm learning how to use sapply (and other function of this family).
> 
> Here's what I'm trying to do.
> 
> I have a vector of lets say 5 elements. I also have a matrix of nX5. I would
> like to know how many element by column are inferior to each element of my
> vector.
> 
> On this example:
> v = c(1:5)
> M = matrix(3,2,5)
> 
> I would like to have a vector at the end which give me
> 
> 0 0 0 2 2
> 

This does that:

> sapply(1:5, function(i) sum(M[,i] < v[i]))
[1] 0 0 0 2 2

Basically, it's like a loop where at each iteration the function is
called with one element of the vector 1:5 as argument, so what this
really does is

sum(M[,1] < v[1]))
sum(M[,2] < v[2]))
...

and then the results are put all together in a vector.

-- 
Cheers,
Ernest



More information about the R-help mailing list