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 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}) >>> normed >> [[1]] >> X1 X2 X3 >> 1 1 1 1 >> >> [[2]] >> X1 X2 X3 >> 1 1.330645 1.358333 1.298507 >> >> [[3]] >> X1 X2 X3 >> 1 0.4193548 0.425 0.3208955 >> >> [[4]] >> X1 X2 X3 >> 1 1.443548 1.425 1.238806 >> >> [[5]] >> X1 X2 X3 >> 1 1.927419 1.983333 1.753731 >> >> Ugly! The values are right, but why didn't I get another 2D array >> back? Shouldn't the division in my inline function return a vector? >> >> Thanks, >> Greg >> >> ______________________________________________ >> R-help@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. >> > > ______________________________________________ > R-help@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. > ---------------------------------------------------------------- [[alternative HTML version deleted]]
______________________________________________ R-help@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.