[R] how to use "..."

Ivan Calandra ivan.calandra at u-bourgogne.fr
Thu Jan 17 15:36:24 CET 2013


Dear users,

I'm trying to learn how to use the "...".

I have written a function (simplified here) that uses doBy::summaryBy():
# 'dat' is a data.frame from which the aggregation is computed
# 'vec_cat' is a integer vector defining which columns of the data.frame 
should be use on the right side of the formula
# 'stat_fun' is the function that will be run to aggregate
stat.group <- function(dat, vec_cat, stat_fun){
     require(doBy)
     df <- 
summaryBy(as.formula(paste0(".~",paste0(names(dat)[vec_cat],collapse="+"))), 
data=dat, FUN=stat_fun)
     return(df)
}

Example, works fine:
my_data <- structure(list(cat = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 2L,
2L, 2L, 2L), .Label = c("A", "B"), class = "factor"), varnum = 
c(-0.754816565434373,
-1.94101630973709, -0.102461836059522, -0.519952759645808, 
-1.73772800855664,
-1.13939178585609, 0.522356715260142, -0.701428514907824, 1.45197576541159,
0.0844567413828095)), .Names = c("cat", "varnum"), row.names = c(NA,
-10L), class = "data.frame")
stat.group(dat=my_data, vec_cat=1, stat_fun=mean)


Now summaryBy() has an "..." argument and I would like to use it.
For example, I would like to be able to add the trim argument to my call 
like this:
stat.group(dat=my_data, vec_cat=1, stat_fun=mean, trim=0.2)


I know I can do it using this "..." but I have no idea how to do it. 
I've tried to search for it, but a search with "..." doesn't yield 
interesting results!


Thank you in advance for your help!
Ivan

-- 
Ivan CALANDRA
Université de Bourgogne
UMR CNRS/uB 6282 Biogéosciences
6 Boulevard Gabriel
21000 Dijon, FRANCE
+33(0)3.80.39.63.06
ivan.calandra at u-bourgogne.fr
http://biogeosciences.u-bourgogne.fr/calandra



More information about the R-help mailing list