[R] looping through numbered variables

Daniel Caro dcarov at gmail.com
Mon Aug 27 19:19:25 CEST 2012


Thank you, character indexing (?"[") is what I was looking for:

sapply(paste('var', 1:100, sep=''), function(x)
weighted.mean(data[[x]], data$weight))

Daniel

On Mon, Aug 27, 2012 at 6:26 PM, Bert Gunter <gunter.berton at gene.com> wrote:
> Have you read "An Introduction to R". If not, please do so before
> osting and pay particular attention to the section on indexing. If so,
> re-read the sections on indexing.
>
> For a terser exposition, ?"["
>
> -- Bert
>
> On Mon, Aug 27, 2012 at 7:11 AM, Daniel Caro <dcarov at gmail.com> wrote:
>> Hello,
>>
>> This is a beginner question. 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())?
>>
>> Thank you,
>> Daniel
>>
>> ______________________________________________
>> 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.
>
>
>
> --
>
> Bert Gunter
> Genentech Nonclinical Biostatistics
>
> Internal Contact Info:
> Phone: 467-7374
> Website:
> http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm




More information about the R-help mailing list