[R] expand.grid overflows?

Dimitris Rizopoulos dimitris.rizopoulos at med.kuleuven.be
Fri Nov 16 13:04:16 CET 2007


you could try the following:

# here with 10 instead of 50
ind <- t(combn(10, 5))
nind <- nrow(ind)
cbn <- rep(0, 10 * nind)
dim(cbn) <- c(nind, 10)
for (i in 1:nind) {
    cbn[cbind(i, ind[i, ])] <- 1
}
cbn
rowSums(cbn)


I hope it helps.

Best,
Dimitris

----
Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven

Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/(0)16/336899
Fax: +32/(0)16/337015
Web: http://med.kuleuven.be/biostat/
     http://www.student.kuleuven.be/~m0390867/dimitris.htm



----- Original Message ----- 
From: "francogrex" <francogrex at mail.com>
To: <r-help at r-project.org>
Sent: Friday, November 16, 2007 12:35 PM
Subject: [R] expand.grid overflows?


>
>>cbn<-as.matrix(expand.grid( rep( list(0:1), 50)))
>
> Error in rep.int(rep.int(seq_len(nx), rep.int(rep.fac, nx)), orep) :
>  invalid 'times' value
> In addition: Warning message:
> In rep.int(rep.int(seq_len(nx), rep.int(rep.fac, nx)), orep) :
>  NAs introduced by coercion
>
> But I'm only interested in cbn matrix rows where:
> cbn<- cbn[rowSums(cbn)==5,]
>
> Is there a way to evaluate it row by row and only store where the 
> sum is
> equal to 5, maybe it reduces cost of computation?
> -- 
> View this message in context: 
> http://www.nabble.com/expand.grid-overflows--tf4820635.html#a13791428
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> 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.
> 


Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



More information about the R-help mailing list