[Rd] splinefun gives incorrect derivs when extrapolating to the left (PR#13132)

From: <Greg.Snow_at_imail.org>
Date: Mon, 06 Oct 2008 19:50:13 +0200 (CEST)


This is a low priority bug that has been around for a while, but I came acr= oss it again while alpha testing 2.8.

The resulting function for splinefun gives incorrect deriv values when x is=
 less than the smallest x-value used to create the function (at least in on=
e circumstance), but does the correct thing for x greater than the largest =
x-value.

Here is an example:

> x <- 1:10
> y <- sin(x)
>
> splfun <- splinefun(x,y, method=3D'natural')
>
> # these should be linear (and are)
> splfun( seq(0,1, 0.1) )

 [1] 0.5682923 0.5956102 0.6229280 0.6502459 0.6775638 0.7048816 0.7321995  [8] 0.7595174 0.7868352 0.8141531 0.8414710
>
> # these should all be the same
> splfun( seq(0,1, 0.1), deriv=3D1 )

 [1] -0.34287807 -0.22582729 -0.12109764 -0.02868912 0.05139826 0.1191645= 1
 [7] 0.17460962 0.21773359 0.24853643 0.26701813 0.27317870
>
> # these should all be 0
> splfun( seq(0,1, 0.1), deriv=3D2 )

 [1] 1.2321135 1.1089022 0.9856908 0.8624795 0.7392681 0.6160568 0.4928454  [8] 0.3696341 0.2464227 0.1232114 0.0000000
> splfun( seq(0,1, 0.1), deriv=3D3 )

 [1] -1.232114 -1.232114 -1.232114 -1.232114 -1.232114 -1.232114 -1.232114  [8] -1.232114 -1.232114 -1.232114 -1.232114
>
>
> # everything works like it should on the right end
> splfun( seq(10,11, 0.1) )

 [1] -0.5440211 -0.6444546 -0.7448881 -0.8453215 -0.9457550 -1.0461885  [7] -1.1466220 -1.2470554 -1.3474889 -1.4479224 -1.5483559
> splfun( seq(10,11, 0.1), deriv=3D1 )

 [1] -1.004335 -1.004335 -1.004335 -1.004335 -1.004335 -1.004335 -1.004335  [8] -1.004335 -1.004335 -1.004335 -1.004335
> splfun( seq(10,11, 0.1), deriv=3D2 )

 [1] 0 0 0 0 0 0 0 0 0 0 0
> splfun( seq(10,11, 0.1), deriv=3D3 )

 [1] 0 0 0 0 0 0 0 0 0 0 0
>

--please do not edit the information below--

Version:
 platform =3D i386-pc-mingw32
 arch =3D i386
 os =3D mingw32
 system =3D i386, mingw32
 status =3D alpha
 major =3D 2
 minor =3D 8.0
 year =3D 2008
 month =3D 10
 day =3D 01
 svn rev =3D 46589
 language =3D R
 version.string =3D R version 2.8.0 alpha (2008-10-01 r46589)

Windows XP (build 2600) Service Pack 3

Locale:
LC_COLLATE=3DEnglish_United States.1252;LC_CTYPE=3DEnglish_United States.12= 52;LC_MONETARY=3DEnglish_United States.1252;LC_NUMERIC=3DC;LC_TIME=3DEnglis= h_United States.1252

Search Path:
 .GlobalEnv, package:stats, package:graphics, package:grDevices, package:ut= ils, package:datasets, package:methods, Autoloads, package:base

--
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow_at_imail.org
801.408.8111

______________________________________________
R-devel_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Mon 06 Oct 2008 - 17:55:00 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 07 Oct 2008 - 12:30:18 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-devel. Please read the posting guide before posting to the list.

list of date sections of archive