[R] How to sum values across multiple variables using a wildcard?

Simon Blomberg blomsp at ozemail.com.au
Tue Feb 21 02:09:47 CET 2006


data <- data.frame(var1=c(1,2,3), var2=c(3,4,5), var3=c(4,5,6), foo = 
c(100,200,300))
# sum rows with "var" in their name
rowSums(data[, grep("var", names(data))])

 1  2  3
 8 11 14



mtb954 at gmail.com wrote:
> I have a dataframe called "data" with 5 records (in rows) each of
> which has been scored on each of many variables (in columns).
>
> Five of the variables are named var1, var2, var3, var4, var5 using
> headers. The other variables are named using other conventions.
>
> I can create a new variable called var6 with the value 15 for each
> record with this code:
>
>   
>> var6=var1+var2+var3+var4+var5
>>     
>
> but this is tedious for my real dataset with dozens of variables. I
> would rather use a wildcard to add up all the variables that begin
> with "Var" like this pseudocode:
>
>   
>> Var6=sum(var*)
>>     
>
> Any suggestions for implementing this in R? Thanks! Mark
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>
>   


-- 
Simon Blomberg, B.Sc.(Hons.), Ph.D, M.App.Stat.
Centre for Resource and Environmental Studies
The Australian National University
Canberra ACT 0200
Australia
T: +61 2 6125 7800 email: Simon.Blomberg_at_anu.edu.au
F: +61 2 6125 0757
CRICOS Provider # 00120C




More information about the R-help mailing list