Re: [R] apply with a division

2008-07-04 Thread Gavin Simpson
[Sorry, I seem to have misplaced the original posting, hence I'll reply here as I haven't seen this solution mentioned yet] See ?sweep - this is very general function for this sort of operation. Note that mat is the OP's data as a matrix, not a data frame. This doesn't work if mat is a data

[R] apply with a division

2008-07-03 Thread Greg Kettler
Hi, I'd like to normalize a dataset by dividing each row by the first row. Very simple, right? I tried this: expt.fluor X1 X2 X3 1 124 120 134 2 165 163 174 3 52 51 43 4 179 171 166 5 239 238 235 first.row - expt.fluor[1,] normed - apply(expt.fluor, 1, function(r) {r / first.row})

Re: [R] apply with a division

2008-07-03 Thread Henrique Dallazuanna
Try this: sweep(x, 2, as.numeric(x[1,]), FUN=/) On Thu, Jul 3, 2008 at 7:04 PM, Greg Kettler [EMAIL PROTECTED] wrote: Hi, I'd like to normalize a dataset by dividing each row by the first row. Very simple, right? I tried this: expt.fluor X1 X2 X3 1 124 120 134 2 165 163 174 3 52

Re: [R] apply with a division

2008-07-03 Thread Marc Schwartz
on 07/03/2008 05:04 PM Greg Kettler wrote: Hi, I'd like to normalize a dataset by dividing each row by the first row. Very simple, right? I tried this: expt.fluor X1 X2 X3 1 124 120 134 2 165 163 174 3 52 51 43 4 179 171 166 5 239 238 235 first.row - expt.fluor[1,] normed -

Re: [R] apply with a division

2008-07-03 Thread Gabor Grothendieck
This should work whether your data, x, is a data frame or a matrix: x / x[rep(1, nrow(x)),] On Thu, Jul 3, 2008 at 6:04 PM, Greg Kettler [EMAIL PROTECTED] wrote: Hi, I'd like to normalize a dataset by dividing each row by the first row. Very simple, right? I tried this: expt.fluor X1

Re: [R] apply with a division

2008-07-03 Thread Abhijit Dasgupta
Won't scale(x,center=F, scale=x[1,]) do the trick? -- Abhijit Quoting Gabor Grothendieck [EMAIL PROTECTED]: This should work whether your data, x, is a data frame or a matrix: x / x[rep(1, nrow(x)),] On Thu, Jul 3, 2008 at 6:04 PM, Greg Kettler [EMAIL PROTECTED] wrote: Hi, I'd like to