Transform an irregular time series in a regular time series, or fill gaps in regular time series using splines

```
regspline(x, y=NULL, xmin=min(x), n=length(x),
deltat=(max(x) - min(x))/(n - 1), rule=1, periodic=FALSE)
```

An object of type 'regul' is returned. It has methods `print()`

, `summary()`

, `plot()`

, `lines()`

, `identify()`

, `hist()`

, `extract()`

and `specs()`

.

- x
a vector with time in the irregular series. Missing values are allowed

- y
a vector of same length as

`x`

and holding observations at corresponding times- xmin
allows to respecify the origin of time in the calculated regular time series. By default, the origin is not redefined and it is equivalent to the smallest value in

`x`

- n
the number of observations in the regular time series. By default, it is the same number than in the original irregular time series (i.e.,

`length(x)`

- deltat
the time interval between two observations in the regulated time series

- rule
the rule to use for extrapolated values (outside of the range in the initial irregular time series) in the regular time series. With

`rule=1`

(by default), these entries are not calculated and get`NA`

; with`rule=2`

, these entries are extrapolated- periodic
indicates if the time series should be considered as periodic (

`periodic=TRUE`

, first value must be equal to the last one). If this is the case, first and second derivates used to calculate spline segments around first and last observations use data in the other extreme of the series. In the other case (`periodic=FALSE`

(by default), derivates for extremes observations are considered to be equal to zero

Frédéric Ibanez (ibanez@obs-vlfr.fr), Philippe Grosjean (phgrosjean@sciviews.org)

Missing values are interpolated using cubic splines between observed values.

Lancaster, P. & K. Salkauskas, 1986. *Curve and surface fitting.* Academic Press, England, 280 pp.

`regul`

, `regarea`

, `regconst`

, `reglin`

, `regul.screen`

, `regul.adj`

, `tseries`

, `is.tseries`

, `splinefun`

```
data(releve)
reg <- regspline(releve$Day, releve$Melosul)
plot(releve$Day, releve$Melosul, type="l")
lines(reg$x, reg$y, col=2)
```

Run the code above in your browser using DataLab