Re: [R] expand.grid problem

From: Martyn Plummer <plummer_at_iarc.fr>
Date: Thu 13 Oct 2005 - 21:45:50 EST

On Thu, 2005-10-13 at 12:19 +0200, Muhammad Subianto wrote:
> Hi all,
> I want to make all possible combination from dataset below:
> V1 <- c(0,1,2)
> V2 <- c(0,1)
> V3 <- c(0,1)
> V4 <- c(0,1)
> V5 <- c(0,1)
> V6 <- c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
> V7 <- c(0,1,2,3,4,5,6)
> V8 <- c(0,1)
> V9 <- c(0,1)
> V10 <- c(0,1)
> V11 <- c(0,1)
> V12 <- c(0,1)
> V13 <- c(0,1)
> V14 <- c(0,1)
> V15 <- c(0,1,2,3,4,5,6,7,8,9)
> V16 <- c(0,1,2,3,4,5,6)
> V17 <- c(0,1,2,3,4,5,6,7,8)
> V18 <- c(0,1,2,3,4,5)
> V19 <- c(0,1)
> V20 <- c(0,1,2,3,4,5,6,7)
>
> When run expand.grid I found a problem:
> > all.V <-
> expand.grid(V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11,V12,V13,V14,V15,V16,V17,V18,V19,V20)
> Error in rep.int(rep.int(x, rep.int(rep.fac, nx)), orep) :
> invalid number of copies in rep()
> In addition: Warning message:
> NAs introduced by coercion
> >
>
> Then I try to reduce:
> > all.V.miss <-
> expand.grid(V1,V2,V3,V4,V5,V7,V8,V9,V10,V11,V17,V18,V19,V20)
> Error: cannot allocate vector of size 36288 Kb
> >
> What is that? Is this about memory or I must run on machine 64bit?
>
> Regards, Muhammad Subianto
> P4 2.0GHz 512MB RAM

It's all about memory. In your first example, you are trying to create a data frame with 20 columns and 54 billion (thousand million) rows. Just to store this amount of data as an array of doubles you would need 8 terabytes of memory. You are being a bit optimistic trying to do it with only 500 Megabytes.

Martyn

> > R.version$platform
> [1] "i686-redhat-linux-gnu"
> > R.version$major
> [1] "2"
> > R.version$minor
> [1] "1.1"
> > R.version$year
> [1] "2005"
> > R.version$month
> [1] "06"
> > R.version$language
> [1] "R"



This message and its attachments are strictly confidential. ...{{dropped}}

R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Thu Oct 13 21:56:02 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:40:44 EST