[R] all combinations with replacement

William Dunlap wdunlap at tibco.com
Fri Apr 22 16:44:20 CEST 2011


Does the following do what you want?  It should
generate all the (unordered) NPart-partitions of Sum
by mapping the output of combn(Sum+NParts-1,NParts-1).  

f <- function (Sum, NParts) 
{
    cm <- combn(Sum + NParts - 1, NParts - 1)
    cm <- rbind(cm, Sum + NParts)
    if (NParts > 1) {
        r <- 2:NParts
        cm[r, ] <- cm[r, ] - cm[r - 1, ]
    }
    t(cm - 1)
}

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com  

> -----Original Message-----
> From: r-help-bounces at r-project.org 
> [mailto:r-help-bounces at r-project.org] On Behalf Of Kehl Dániel
> Sent: Thursday, April 21, 2011 12:29 PM
> To: r-help at r-project.org
> Subject: [R] all combinations with replacement
> 
> Dear all,
> 
> is there an easy way to get all possible combinations (?) 
> with replacement.
> If n=6, k=3, i want something like
> 
> 0 0 6
> 0 5 1
> 0 4 2
> 0 3 3
> 0 2 4
> .
> .
> .
> 5 0 1
> 5 1 0
> 6 0 0
> 
> I tried to look at combn() but I could not get this done with it.
> 
> Thank you in advance:
> Daniel
> 
> ______________________________________________
> R-help at 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.
> 



More information about the R-help mailing list