How to fill in missing data series? I have monthly water quality (Nitrate) measurements from July, 2005 till Oct., 2013 (84 measurements). However, there is no measurements from Oct., 2007 till June, 2009 (21 measurements). Could you please let me know how do I fill in the missing data using other dataset? What is the best software do you recommend to be used to fill in the missing data? 
 A: In R, you can try functions: na in package timeSeries, function na.approx in package zoo or function na.interp in package forecast. If I remember correctly in SAS, the "expand" procedure was also to interpolate missing values in a time series. I don't think there is a best software as you mentioned.    
To find out which one is performing better, you can remove some of your time series data, deliberately to create some missing data yourself. Next apply all of above packages and generate your missing data using them. Since you know the observed values of your missing data, you can easily assess the performance of them by looking at the true values. This may not be the best way, but at least will give you an idea of how well they perform. One last thing, there may be other packages to handle missing values for time series.
A: Since there seems to be some structure in your data, I think using a model and replacing the missing values with fits would be adequate. Perhaps a simple basic structural model (BSM) with local trend and seasonality would be all that is needed (StructTS affords an easy way to fit these models, and tsSmooth gives you smoothed values, using past and future observations).
Replacing real data with smoothed values is not really satisfactory: the replacement values are "too regular", lacking the noise present in real observations. Depending on your purposes and the amount of effort you want to put in this, you might turn to the simulation smoother (see for instance Time Series Analyisis by State Space Methods) or multiple imputation methods (see for instance package Amelia in R).
