Thanks, Sarah.  First time heard about sweep(), it worked just the way I
wanted.
Mike

On Wed, Dec 5, 2012 at 1:42 PM, Sarah Goslee <sarah.goslee@gmail.com> wrote:

> Hi,
>
> On Wed, Dec 5, 2012 at 1:30 PM, C W <tmrsg11@gmail.com> wrote:
> > Dear list,
> > I was curious how to subtract a vector from matrix?
> >
> > Say, I have
> >
> > mat <- matrix(1:40, nrow=20, ncol=2)
> >
> > x <-c(1,2)
>
> Thanks for the actual reproducible example.
>
> > I want,
> >
> > x-mat[1,] and x-mat[2,], and so on... Basically, subtract column elements
> > of x against column elements in mat.
> >
> > But x-mat won't do it.
>
> This will (note the modification to get x - mat):
> > sweep(-mat, 2, x, "+")
>       [,1] [,2]
>  [1,]    0  -19
>  [2,]   -1  -20
>  [3,]   -2  -21
>  [4,]   -3  -22
>  [5,]   -4  -23
> etc.
>
> --
> Sarah Goslee
> http://www.functionaldiversity.org
>

	[[alternative HTML version deleted]]


