R c(x, if (d) y) d, , . x y .
data.table, return :
library(data.table)
f = function(d) data.table(iris)[, c(
.(mw = mean(Sepal.Width)),
if(d) .(ml = mean(Sepal.Length))
), by=Species]
> f(TRUE)
Species mw ml
1: setosa 3.428 5.006
2: versicolor 2.770 5.936
3: virginica 2.974 6.588
> f(FALSE)
Species mw
1: setosa 3.428
2: versicolor 2.770
3: virginica 2.974
DT[...] .() list(). , , .