Hi List,

I'm using npRmpi to run some density equality tests and place the
output into a matrix. I've put together some crude functions for the
purpose, but I'm receiving the following error when npdeneqtest()
reached the bootstrap;

FATAL ERROR: Memory allocation failure (type DBL_VECTOR). Program terminated.

I'm running Ubuntu Lucid 64bit with 4 cores and 12GB of memory. My R
install is also 64bit.

platform       x86_64-pc-linux-gnu
arch           x86_64
os             linux-gnu
system         x86_64, linux-gnu
status
major          2
minor          12.0
year           2010
month          10
day            15
svn rev        53317
language       R
version.string R version 2.12.0 (2010-10-15)

Here's the home-brew function I'm using;

npdenseqtestMatrix <- function(df1_row,df2_col,var_names,...) {
        dim_nms_row <- unique(df1_row[,'cat'])
        dim_nms_col <- unique(df2_col[,'cat'])
        tn_pval <- c()
        col_bw <- list()
        for(i in dim_nms_col) {
                col_bw[[which(dim_nms_col==i)]] <-
npudensbw(df2_col[which(df2_col[,'cat']==i),var_names],...)
        }
        for(i in dim_nms_row) {
                df1_row_bw <- 
npudensbw(df1_row[which(df1_row[,'cat']==i),var_names],...)
                for(j in dim_nms_col) {
                        tn_pval <- 
c(tn_pval,npdeneqtest(df1_row[which(df1_row[,'cat']==i),var_names],df2_col[which(df2_col[,'cat']==j),var_names],bw.x=df1_row_bw,bw.y=col_bw[[which(dim_nms_col==j)]],...)$Tn.P)
                }
        }
        print(tn_pval)
        
return(matrix(tn_pval,length(dim_nms_row),length(dim_nms_col),dimnames=list(dim_nms_row,dim_nms_col),byrow=TRUE))
}

Keep in mind that 'cat' is just a shorthand for Category in this case
and it's acting as a database key (largely because the data come from
GRASS). I think that my memory allocation should be unlimited (well to
the hardware potential) since I'm using 64 bit installs. I have no
experience with coding anything for parallel processing. It may also
be relevant to point out that I commonly use screen and work remotely,
but I've tried with and without screen and the result is the same
error. I can't really provide the data here because my dataset is
quite large (though I don't think large enough to fill 12GB of
memory). Any thoughts would be appreciated,

Chris

______________________________________________
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