Skip to content
Back to formatted view

Raw Message

Message-ID: <1354741507.46033.YahooMailNeo@web142601.mail.bf1.yahoo.com>
Date: 2012-12-05T21:05:07Z
From: arun
Subject: data manipulation between vector and matrix
In-Reply-To: <CAE2FW2mH+PVAuJQWAFscUjSB9Wz7=C7pFcywZBW_6HYA2gW7QA@mail.gmail.com>

HI,
In addition to ?sweep(), you can use

apply(-mat,1,`+`,x) 

#or
library(plyr)
aaply(-mat,1,"+",x) 


A.K.






----- Original Message -----
From: C W <tmrsg11 at gmail.com>
To: Sarah Goslee <sarah.goslee at gmail.com>
Cc: r-help <r-help at r-project.org>
Sent: Wednesday, December 5, 2012 1:51 PM
Subject: Re: [R] data manipulation between vector and matrix

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 at gmail.com> wrote:

> Hi,
>
> On Wed, Dec 5, 2012 at 1:30 PM, C W <tmrsg11 at 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]]

______________________________________________
R-help at r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.