I know nothing about netCDF files, but if you can download the file and make it an array, extraction via indexing takes no time at all:
> ex <-array(rnorm(2*1e4*365, mean = 10), dim = c(100,200,365)) > system.time(test <-ex[35,2,]) user system elapsed 0 0 0 > length(test) [1] 365 If this can't be done, sorry for the noise. Cheers, Bert Bert Gunter "The trouble with having an open mind is that people keep coming along and sticking things into it." -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip ) On Sat, Jul 2, 2016 at 3:43 PM, Hemant Chowdhary via R-help <r-help@r-project.org> wrote: > I am working with a 3-dimensional netCDF file having dimensions of X=100, > Y=200, T=365. > My objective is to extract time vectors of a few specific grids that may not > be contiguous on X and/or Y. > > For example, I want to extract a 5x365 matrix where 5 rows are each vectors > of length 365 of 5 specific X,Y combinations. > > For this, I am currently using the following > > reqX = c(35,35,40,65,95); > reqY = c(2,5,10,112,120,120); > nD = length(reqX) > for(i in 1:nD){ > idX = ncvar_get(nc=myNC, varid="myVar", start=c(reqX[i],reqY[i]), > count=c(1,1)) > if(i==1){dX = idX} else {dX = rbind(dX,idX)} > } > > Is there more elegant/faster way other than to using a For Loop like this? It > seems very slow when I may have to get much larger matrix where nD can be > more than 1000. > > Thank you HC > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.