Reduce will rbind 2 elements and then the result with the next element
of the list --- while do.call just applies rbind once on all elements of
the list at the same time.
Uwe Ligges
On 08.10.2013 11:22, Asis Hallab wrote:
Dear R-Experts,
using both do.call(…) and Reduce(…), I wonder about the differences of both.
Please consider the following example:
m <- matrix( 1:9, ncol=3 )
lst <- list( m, 2*m, 3*m )
rbind( lst )
# Returns
[,1] [,2] [,3]
tmp.lst Integer,9 Numeric,9 Numeric,9
do.call( 'rbind', tmp.lst )
# Returns
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
[4,] 2 8 14
[5,] 4 10 16
[6,] 6 12 18
[7,] 3 12 21
[8,] 6 15 24
[9,] 9 18 27
Reduce( rbind, tmp.lst )
# Returns the same
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
[4,] 2 8 14
[5,] 4 10 16
[6,] 6 12 18
[7,] 3 12 21
[8,] 6 15 24
[9,] 9 18 27
So, what is the difference between Reduce and do.call and when best to
use which?
Your help will be much appreciated.
Kind regards!
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.