I would like to add each element in one vector with each element in another vector as follows, but avoid the for loops. Is there a simple method?
What you are looking for is outer()
, as in:
> outer(a, b, "+")
[,1] [,2]
[1,] 4 5
[2,] 5 6
[3,] 6 7
[4,] 7 8
[5,] 8 9
[6,] 9 10
[7,] 10 11
[8,] 11 12
[9,] 12 13
[10,] 13 14
You can put b
in a matrix and take advantage of R's recycling rules:
a + matrix(b, nrow=length(a), ncol=2, byrow=TRUE)
Here is one thing you can do:
a<-c(1:10)
b<-c(3:4)
matrix(b,length(a),2,byrow=TRUE)+a