Weighted mean with summarise_at dplyr
You can specify the weights directly within the weighted.mean() function, within the call to funs() like so:

data.frame(x=rnorm(100), y=rnorm(100), weight=runif(100)) %&gt;%
      summarise_at(vars(x,y), funs(weighted.mean(., w=weight)))