Hi Kehl, How large are n and k in your case? Using Dimitris' approach and I got the following timings for 1000 replicates:
# function based on Dimitri's reply foo <- function(n, k){ r <- expand.grid(rep(list(0:n), k)) subset(r, rowSums(r) == n) } # a second try foo2 <- function(n, k){ r <- expand.grid(rep(list(0:n), k)) r[rowSums(r) == n, ] } # n = 6, k = 3 > system.time(replicate(1000, foo(6, 3))) user system elapsed 1.336 0.015 1.345 > system.time(replicate(1000, foo2(6, 3))) user system elapsed 1.210 0.008 1.209 HTH, Jorge > R.version _ platform x86_64-apple-darwin9.8.0 arch x86_64 os darwin9.8.0 system x86_64, darwin9.8.0 status Patched major 2 minor 13.0 year 2011 month 04 day 18 svn rev 55504 language R version.string R version 2.13.0 Patched (2011-04-18 r55504) On Thu, Apr 21, 2011 at 3:52 PM, Kehl Dániel <> wrote: > Thank you. > I only need those where the rowsum = n. > I could choose those with code, but I dont think it is efficient that way. > > daniel > > 2011-04-21 12:33 keltezéssel, Dimitris Rizopoulos írta: > > >> expand.grid(rep(list(0:6), 3)) >> > > ______________________________________________ > 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. > [[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.