Just add another outer wrapper: outer(1:5, outer(1:5, 1:5, "+"), "+")
If you are going to arbitrarily long tuples, it may be worthwhile to put this in a wrapper like so: tupleSums <- function(vec, n){ stopifnot(all.equal(n, as.integer(n))) n <- as.integer(n) if (n == 1L) return(vec) ans <- outer(vec, vec, "+") if (n == 2L) return(ans) else{ for (i in 3:n) ans <- outer(vec, ans, "+") } return(ans) } Though this really could be made much more efficient if you want: e.g., for the n = 4 case, it would be better to take outer( outer(vec, vec, "+"), outer(vec, vec, "+"), "+"). Michael On Sat, Oct 29, 2011 at 9:08 AM, Suleyman K <s.ka...@gmail.com> wrote: > Hi, > > I am trying to get different combinations of a vector of different size and > find their sum. For example, if I have a vector (i,j) where i and j can be > anything from 0 to 5, i get these combinations (0,0), (0,1), (1,0), (1,1), > (2,0), ...... (5,5) and find sum of these as 0, 1, 1, 2, ..... , 10. I used > outer functions to get this and it worked. What if I have a vector (i,j,k) > where all i, j , and k can be anything from 0 to 5. I want to do the same > thing here. Get all the combinations and sum them up. (0,0,0) (0,0,1), > (0,1,0), (1,0,0), .... (5,5,5) How can I get these combinations and find > their sums? Thank you very much in advance. > > Uka > > [[alternative HTML version deleted]] > > ______________________________________________ > 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.