On Sun, Mar 23, 2008 at 11:06:05AM -0400, Mark Leeds wrote: > In an earlier post, a person wanted to divide each of the rows of > > rawdata by the row vector sens so he did below but didn't like it and > > asked if there was a better solution. > > > > rawdata <- data.frame(rbind(c(1,2,2), c(4,5,6))) sens <- c(2,4,6) > > > > temp <- t(rawdata)/sens > > temp <- t(temp) > > print(temp) > > > > Gabor sent three other solutions and I understood 2 of them but not the one > below. > > > > I think I understand mapply a little but what I don't understand how > > it knows to take the rows of rawdata and then I guess recycle sens ? > > how did the mapply know not to take the columns of rawdata and do > > something to them ? or maybe mapply does things element by element and it is > doing more > > complex recycling ? I guess I don't really understand mapply that well but I > did > > read the help of it. > > > > Thanks so much for any enlightenment from anyone besides Gabor. I bother him > enough already > > and he does more than enough. > > > > tempc <- data.frame(mapply("/", rawdata, sens)) > > print(tempc)
Mark, there is no recycling here. rawdata[1] is the first column of the data frame, rawdata[2] is the second, etc. and the mapply construct is just calculating rawdata[1] / sens[1] rawdata[2] / sens[2] rawdata[3] / sens[3] data.frame() is only needed because the result of mapply would be a matrix otherwise. (the other (?)) Gabor > > > > Mark > > > > > > > > > > > > > [[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. -- Csardi Gabor <[EMAIL PROTECTED]> UNIL DGM ______________________________________________ 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.