On Fri, 14 Apr 2006, Alexander Nervedi wrote: > Hi. > > I am having trouble figuring this out. Please help if you know what I am > goffing up on. > >> rm(list=ls(all=TRUE)) >> dat<-expand.grid(village.code = c(1,2,3), household.id = 1:99, member.id = >> 1:41, year.code = 75:85, DOI = 1:366) > Error: cannot allocate vector of size 191502 Kb >> >> memory.limit() > [1] 3145728000 > > > Shouldn't I have ample memory to greate this gigantic grid?
No. It has 3*99*41*11*366 = 50m rows, and 5 columns needing 24 bytes per row (1 double plus 4 integer cols, I believe), plus rowmanes. Now normally rownames are a character vector, and a character vector of that size needs over 2Gb of storage (on a 32-bit machine), but expand.grid `cheats' (actually, it is a bug) by using integer rownames and hence you would have 28 bytes per row, 1.4GB in total. You do have enough memory to store that, but not enough address space. BTW, you seem to be on Windows (but failed to mention it): please consult the rw-FAQ as the memory limit is not necessarily the limiting factor here (the address space is probably 2GB). > mucho gracias el signors and signioritas, > > Alnerdy -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
