This function runs an expression multiple times, and combines the
result into a list. If there are no results, then this function will return
a list of length 0 (list()). This function is equivalent to
replicate, but will always return results as a list.
References
Hadley Wickham (2011). The Split-Apply-Combine Strategy for
Data Analysis. Journal of Statistical Software, 40(1), 1-29.
http://www.jstatsoft.org/v40/i01/.