data manipulation between vector and matrix
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.