More elegant multiplication or division of a data frame with a vector
Not sure if these are any better but here are a few alternatives:
rawdata / rep(sens, each = nrow(rawdata))
as.data.frame(mapply("/", rawdata, sens))
as.data.frame(as.matrix(rawdata) %*% diag(1/sens))
On Sat, Mar 22, 2008 at 10:21 AM, Tribo Laboy <tribolaboy at gmail.com> wrote:
Hello, I am importing some raw voltage multichannel measurements into an R data frame. I need to scale each column with the respective sensitivity for that channel. I figured how to do it, but I am curious if there isn't a more elegant way. Now I start with something like this: rawdata <- data.frame(rbind(c(1,2,3), c(4,5,6))) sens <- c(2,4,6) and I do this: data <- as.data.frame(t(t(rawdata)/sens)) Any suggestions? Cheers, TL
______________________________________________ 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.