I have a large matrix which is divided into several pieces, manipulated individually, and saved into RData in disc. After each pieces are done with operation, I load them into memory and use rbind to stack them back into matrix. however, the rbind is only give me the last two pieces. The following code illustrates the problem: 4 pieces of matrix (1000x1000) is created and stored in RData; then load them back and rbind them. I would expect mat is of 4000*1000; however, dim(mat) shows (2000 1000).

Where is my code wrong?

Thanks

## define a pathData directory
pathData='C:'\\data';

points=1000;
data.pfx='rnorm';

rname=paste('row',1:points,sep='');
cname=paste('col',1:points,sep='');

for (i in 1:4) {
    x=rnorm(points^2);
    mat=matrix(data=x,nrow=points,ncol=points);
    rname=paste('row',(points*(i-1)+1):(points*i),sep='');
    rownames(mat)=rname;
    colnames(mat)=cname;
    file.rdata=paste(pathData,'\\',data.pfx,'_',i,'.RData',
            sep='');
    save(list='mat',file=file.rdata,compress=T);
}

mat=NULL;
for (i in 1:4) {
    file.rdata=paste(pathData,'\\',data.pfx,'_',i,'.RData',
            sep='');
    x=load(file.rdata);
    mat=rbind(mat,get(x));
}

### code end here

> dim(mat)
[1] 2000 1000




      
	[[alternative HTML version deleted]]

