In the first case, 'crops' is an object that is 142MB in size, and
that alone will take up almost 50% of your memory.  You are also
probably generating another object of like size in doing the
operation.  Can you cut down the size of the objects that you need.
What operating system do you have and how much real memory do you
have.  When doing the 'cut' you are also probably creating some
objects of equivalent size.  I would suggest that you work with
smaller objects, or maybe you can put them in a database and do some
manipulation there.

On Thu, Jul 31, 2008 at 4:52 PM, Steve Murray <[EMAIL PROTECTED]> wrote:
>
> Please find below my command inputs, subsequent outputs and errors that I've 
> been receiving.
>
>> crops <- read.table("crop2000AD.asc", colClasses = "numeric", na="-9999")
>> str(crops[1:10])
> 'data.frame':   2160 obs. of  10 variables:
>  $ V1 : num  NA NA NA NA NA NA NA NA NA NA ...
>  $ V2 : num  NA NA NA NA NA NA NA NA NA NA ...
>  $ V3 : num  NA NA NA NA NA NA NA NA NA NA ...
>  $ V4 : num  NA NA NA NA NA NA NA NA NA NA ...
>  $ V5 : num  NA NA NA NA NA NA NA NA NA NA ...
>  $ V6 : num  NA NA NA NA NA NA NA NA NA NA ...
>  $ V7 : num  NA NA NA NA NA NA NA NA NA NA ...
>  $ V8 : num  NA NA NA NA NA NA NA NA NA NA ...
>  $ V9 : num  NA NA NA NA NA NA NA NA NA NA ...
>  $ V10: num  NA NA NA NA NA NA NA NA NA NA ...
>
> Don't worry about all the NAs - this is because there is no data available at 
> the poles of the Earth (at the top and bottom of the dataset).
>
>> min.5 <- 5/60
>> dim(crops)
> [1] 2160 4320
>> n <- 2160*4320
>
>> memory.limit()
> [1] 382.9844
>> crops <- cbind(interval=seq(0, by=min.5, length=n), value=runif(n))
> Error: cannot allocate vector of size 142.4 Mb
> In addition: Warning messages:
> 1: In cbind(interval = seq(0, by = min.5, length = n), value = runif(n)) :
>  Reached total allocation of 382Mb: see help(memory.size)
> 2: In cbind(interval = seq(0, by = min.5, length = n), value = runif(n)) :
>  Reached total allocation of 382Mb: see help(memory.size)
> 3: In cbind(interval = seq(0, by = min.5, length = n), value = runif(n)) :
>  Reached total allocation of 382Mb: see help(memory.size)
> 4: In cbind(interval = seq(0, by = min.5, length = n), value = runif(n)) :
>  Reached total allocation of 382Mb: see help(memory.size)
>
> But seems to run when 'value = runif(n)' is excluded....
>
>> crops <- cbind(interval=seq(0, by=min.5, length=n))
>> head(crops)
>       interval
> [1,] 0.00000000
> [2,] 0.08333333
> [3,] 0.16666667
> [4,] 0.25000000
> [5,] 0.33333333
> [6,] 0.41666667
>> str(crops[1:10])
>  num [1:10] 0.0000 0.0833 0.1667 0.2500 0.3333 ...
>
>> breaks <- c(seq(min(crops[,'interval']), max(crops[, 'interval']), by=0.5), 
>> Inf)
>> head(breaks)
> [1] 0.0 0.5 1.0 1.5 2.0 2.5
>> str(breaks)
>  num [1:1555201] 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 ...
>
>> myCuts <- cut(crops[, 'interval'], breaks, include.lowest=TRUE)
> Error: evaluation nested too deeply: infinite recursion / 
> options(expressions=)?
> In addition: Warning messages:
> 1: In formatC(breaks, digits = dig, width = 1) :
>  Reached total allocation of 382Mb: see help(memory.size)
> 2: In formatC(breaks, digits = dig, width = 1) :
>  Reached total allocation of 382Mb: see help(memory.size)
>>
>
> This is as far as I've got because of the above errors I encounter. Any 
> pointers and advice, or if I'm doing something obviously wrong, then please 
> let me know.
>
> Thanks again for your help.
>
> Steve
>
> _________________________________________________________________
> 100's of Nikon cameras to be won with Live Search
> http://clk.atdmt.com/UKM/go/101719808/direct/01/



-- 
Jim Holtman
Cincinnati, OH
+1 513 646 9390

What is the problem you are trying to solve?

______________________________________________
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.

Reply via email to