Is this what you want? > yr<-c(rep(2000,14)) > doy<-c(16:29) > dat<-c(3.2,NA,NA,NA,NA,NA,NA,5.1,NA,NA,NA,NA,NA,4.6) > ta<-cbind(yr,doy,dat) > ta yr doy dat [1,] 2000 16 3.2 [2,] 2000 17 NA [3,] 2000 18 NA [4,] 2000 19 NA [5,] 2000 20 NA [6,] 2000 21 NA [7,] 2000 22 NA [8,] 2000 23 5.1 [9,] 2000 24 NA [10,] 2000 25 NA [11,] 2000 26 NA [12,] 2000 27 NA [13,] 2000 28 NA [14,] 2000 29 4.6 > good <- !is.na(ta[,'dat']) > x.f <- approxfun(ta[good,'doy'], ta[good,'dat'], rule=2) > ta[!good, 'dat'] <- x.f(ta[!good, 'doy']) > ta yr doy dat [1,] 2000 16 3.200000 [2,] 2000 17 3.471429 [3,] 2000 18 3.742857 [4,] 2000 19 4.014286 [5,] 2000 20 4.285714 [6,] 2000 21 4.557143 [7,] 2000 22 4.828571 [8,] 2000 23 5.100000 [9,] 2000 24 5.016667 [10,] 2000 25 4.933333 [11,] 2000 26 4.850000 [12,] 2000 27 4.766667 [13,] 2000 28 4.683333 [14,] 2000 29 4.600000 >
On 10/6/05, Anette Nørgaard <[EMAIL PROTECTED]> wrote: > > Can anybody help me write a code on the following data example, which > fills out all NA values by using a linear interpolation with the two > closest values? > > Doy is day of year (%j). > > Code example: > yr<-c(rep(2000,14)) > doy<-c(16:29) > dat<-c(3.2,NA,NA,NA,NA,NA,NA,5.1,NA,NA,NA,NA,NA,4.6) > ta<-cbind(yr,doy,dat) > > ta > yr doy dat > [1,] 2000 16 3.2 > [2,] 2000 17 NA > [3,] 2000 18 NA > [4,] 2000 19 NA > [5,] 2000 20 NA > [6,] 2000 21 NA > [7,] 2000 22 NA > [8,] 2000 23 5.1 > [9,] 2000 24 NA > [10,] 2000 25 NA > [11,] 2000 26 NA > [12,] 2000 27 NA > [13,] 2000 28 NA > [14,] 2000 29 4.6 > > Anette Norgaard > > [[alternative HTML version deleted]] > > ______________________________________________ > [email protected] mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html > -- Jim Holtman Cincinnati, OH +1 513 247 0281 What the problem you are trying to solve? [[alternative HTML version deleted]]
______________________________________________ [email protected] mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
