[R] is there a way to let R do smart matrix-vector operation?
    Marc Schwartz (via MN) 
    mschwartz at mn.rr.com
       
    Tue Mar  7 00:20:12 CET 2006
    
    
  
On Mon, 2006-03-06 at 15:10 -0800, Michael wrote:
> Hi all,
> 
> I want to substract vector B from A's each column... how can R do that
> smartly without a loop?
> 
> > A=matrix(c(2:7), 2, 3)
> > A
>      [,1] [,2] [,3]
> [1,]    2    4    6
> [2,]    3    5    7
> > B=matrix(c(1, 2), 2, 1)
> > B
>      [,1]
> [1,]    1
> [2,]    2
> > A-B
> Error in A - B : non-conformable arrays
> apply(A, 2, "-", B)
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    1    3    5
You can use apply() on column-wise operations such as this.
See ?apply for more information.
HTH,
Marc Schwartz
    
    
More information about the R-help
mailing list