[R] need help with smooth.spline

W. C. Thacker Carlisle.Thacker at noaa.gov
Thu Mar 4 14:47:47 CET 2004


Andy,

As the data are often noisy, smoothing splines should be appropriate.

The first example profile shows an isothermal (constant temperature)
layer in the upper ocean followed by a sharp thermocline (large
temperature gradient), but there are relatively few observations
defining this sharp transition.  In this case simple linear
interpolation works fine, but smooth.spline() with all defaults gives
an absolutely absurd value in the isothermal layer.  With all.knots =
TRUE, the values in the isothermal layer are much better but still
peculiar.

Given the sampling and the data, is it possible to get smooth.spline()
do better?  If so, would that adversely impact its performance for
other cases?  (There are thousands of profiles.)  If not, is there a
simp[le way to select cases that smooth.spline() should not be
expected to handle, so they can be treated separately?

Thanks,

Carlisle

"Liaw, Andy" wrote:
> 
> If you really want interpolation, should you be using spline() rather than
> smooth.spline()?  The later is for smoothing data observed with noise, not
> for interpolation.
> 
> Andy
> 
> > From: W. C. Thacker
> >
> > Dear R listers,
> >
> > When using smooth.spline to interpolate data, results are generally
> > good.  However, some cases produce totally unreasonable results.
> >
> > The data are values of pressure, temperature, and salinity from a
> > probe that is lowered into the ocean, and the objective is to
> > interpolate temperature and salinity to specified pressures.  While
> > smooth.spline provides excellent values at the observed pressures,
> > there are cases when the values at the desired pressures are
> > unusable.  A dataframe with four such profiles, indicated by values of
> > id, is attached.  My target values for pressure are seq(25,1600,25),
> > but 1:500 is also interesting.
> >
> > Setting all.knots = TRUE helps, but it would be nice to be able to do
> > better.
> >
> > Any suggestions?
> >
> > Thanks,
> >
> > Carlisle
> >
> > > version
> >          _
> > platform sparc-sun-solaris2.9
> > arch     sparc
> > os       solaris2.9
> > system   sparc, solaris2.9
> > status
> > major    1
> > minor    8.0
> > year     2003
> > month    10
> > day      08
> > language R
> >
> >
> > --
> >
> > William Carlisle Thacker
> >
> > Atlantic Oceanographic and Meteorological Laboratory
> > 4301 Rickenbacker Causeway, Miami, Florida 33149 USA
> > Office: (305) 361-4323           Fax: (305) 361-4392
> >
> > "Too many have dispensed with generosity
> >      in order to practice charity."     Albert Camus
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide!
> > http://www.R-project.org/posting-guide.html
> >
> >
> 
> ------------------------------------------------------------------------------
> Notice:  This e-mail message, together with any attachments,...{{dropped}}
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

-- 

William Carlisle Thacker                            
                                                    
Atlantic Oceanographic and Meteorological Laboratory
4301 Rickenbacker Causeway, Miami, Florida 33149 USA
Office: (305) 361-4323           Fax: (305) 361-4392

"Too many have dispensed with generosity 
     in order to practice charity."     Albert Camus




More information about the R-help mailing list