On Aug 27, 2012, at 7:11 AM, Daniel Caro wrote:
Hello,
This is a beginner question.
You should read the Posting Guide. (As well as following Bert's
suggestion to work through "Intro to R".
I am trying to loop through numbered
variables with "apply" to calculate weighted means. My data is "data",
the variables are "var1" to "var100", the weight is "weight". The
command works using
sapply(paste('data$var', 1:100, sep=''), function(x)
weighted.mean(eval(parse(text=x)), data$weight))
but is there a way to avoid eval(parse())?
I'm guessing you want:
library( <some package which was not named> )
lapply(data, function(x) weighted_mean(x, data$weight))
(I'm was guessing that weighted_mean was from the Hmisc package (but
its similar function has a different name), but at any rate, it is
better practice to indicate what package holds non-core functions. I
also think it is better practice to use named arguments in function
calls and to not use teh name "data" for objects, since it is also a
function name.)
?data
--
David Winsemius, MD
Alameda, CA, USA
______________________________________________
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.