Hello, I'm a complete newbie to R so sorry if this is too basic..:-S
I have to modify some scripts someone else did to make it work with my data. For some reason, one of the scripts which were supposed to work is not, and I get the error message "number of items to replace is not a multiple of replacement length". The script is this one: *open_lpj_nc_gpp <- function(file_name,varname,y1850_file_no, recentre,startyr,nyrs) { library(ncdf) start_yr=y1850_file_no+(startyr-1850) print("************************************") filename=paste(file_name,start_yr,".nc",sep="") print("Opening:") print(varname) print("in:") print(filename) ncfile=open.ncdf(filename) mod1=get.var.ncdf(ncfile,varname) print("------------------------------------") a=dim(mod1) print(a) b=length(a) if (b==3) { mod =array(0,dim=c(a[1],a[2],a[3],nyrs)) modi=array(0,dim=a) } else { mod =array(0,dim=c(a[1],a[2],1,nyrs)) modi=array(0,dim=c(a[1],a[2],1)) a[3]=1 } if (recentre) { yay=mod[1:(a[1]/2),,,1] wow=mod1[(1+a[1]/2):a[1],,,] mod[1:(a[1]/2),,,1]=mod1[(1+a[1]/2):a[1],,,] mod[(1+a[1]/2):a[1],,,1]=mod1[1:(a[1]/2),,] } else { mod[,,,1]=mod1 } remove(mod1) p=1 while (p<nyrs) { y=p+start_yr p=p+1 remove(filename) filename=paste(file_name,y,".nc",sep="") print("Opening:") print(varname) print("in:") print(filename) print("------------------------------------") ncfile=open.ncdf(filename) modi[,,]=get.var.ncdf(ncfile,varname) if (recentre) { mod[1:(a[1]/2),,,p]=modi[(1+a[1]/2):a[1],,] mod[(1+a[1]/2):a[1],,,p]=modi[1:(a[1]/2),,] } else { mod[,,,p]=modi } } for (i in 1:a[1]) { for (j in 1:a[2]) { for (k in 1:a[3]) { for (l in 1:p) { if (is.na(mod[i,j,k,l])==0) { if (mod[i,j,k,l]>1E9) { mod[i,j,k,l]=NaN } } } } } } print("************************************") return(mod) } * And this is the error I get: *Error in mod[1:(a[1]/2), , , 1] = mod1[(1 + a[1]/2):a[1], , , ] : number of items to replace is not a multiple of replacement length* The dimensions of the mod1 file are [720 360 9 12]. I've tried to modify the number of commas, and it worked to sort out a dimensions problem I had before. However, I'm not really sure about what this error mean. I guess it has to do with the fact that the mod defined has different dimensions (720 360 1 8), but I presume that was made in purpose...:-S Any help will be really appreciated, I have this incompatibilities in several scripts and I don't know if they come from the script itself or from any problem with the inputs (which would be really annoying...) Thank you in advance! Cheers -- View this message in context: http://r.789695.n4.nabble.com/number-of-items-to-replace-is-not-a-multiple-of-replacement-length-tp4634864.html Sent from the R help mailing list archive at Nabble.com. ______________________________________________ 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.