Fitting a principal curve to a data matrix in arbitrary dimensions. A principal curve is a smooth curve passing through the middle of a multidimensional dataset. This package is an R/C++ reimplementation of the S/Fortran code provided by Trevor Hastie, with multiple performance tweaks.

Usage of princurve is demonstrated with a toy dataset.

```
t <- runif(100, -1, 1)
x <- cbind(t, t ^ 2) + rnorm(200, sd = 0.05)
colnames(x) <- c("dim1", "dim2")
plot(x)
```

A principal curve can be fit to the data as follows:

See `?principal_curve`

for more information on how to use the `princurve`

package.

Check out `news(package = "princurve")`

for a full list of changes.

Fix warning in

`stats::approx()`

due to changes made in R 3.6.Defuncted

`principal.curve()`

and`get.lam()`

.

Removed extra dependencies in princurve by removing vignettes; fixes #28.

Fully deprecated

`principal.curve()`

and`get.lam()`

.

Hastie, T. and Stuetzle, W., Principal Curves, JASA, Vol. 84, No. 406 (Jun., 1989), pp. 502-516, DOI: 10.2307/2289936 (PDF)