R: ~ Function: reduceNbTimes ~

reduceNbTimes {kmlShape} | R Documentation

## ~ Function: reduceNbTimes ~

### Description

`reduceNbTimes` simplify some trajectories (in long format) by reducing their number of points.

### Usage

      reduceNbTimes(trajLong, nbPoints, spar=NA)

### Arguments

`trajLong` | [`data.frame`]: `data.frame` that hold the trajectories in long format. The data.frame has to be (no choice!) in the following format: the first column should be the individual indentifiant. The second should be the times at which the measurement are made. The third one should be the measurement.

`nbPoints` | [`numeric`]: fixe the number of that the simplified trajectories should have.
`spar` | [`numeric`]: smoothing parameter that is used if the trajectories shall be smoothed before being simplified.

### Details

`reduceNbTimes` simplify some trajectories by reducing their number of points. The trajectories should be in long format. If a value is given to `spar` (different from NA), trajectories are smoothed using `smooth.spline`.

The reduction of the number of point is done using a variation of Douglas-Peucker algorithme based on the number of points instead of an epsilon.

### Value

A `data.frame` holding the simplified trajectories, in long format.

### Author(s)

Christophe Genolini

### See Also

`reduceNbTimes`, `DouglasPeuckerEpsilon`, `DouglasPeuckerNbPoints`

### Examples

      require(lattice)

      ### Some artificial data
      g <- function(x)dnorm(x,3)+dnorm(x,7)+x/10
      dn <- data.frame(id=rep(1:20,each=101),
        times=rep((0:100)/10,times=20),
        traj=rep(g((0:100)/10),20)+rep(runif(20),each=101)+rnorm(20*101,,0.1))

      xyplot(traj ~ times, data=dn, groups=id,type="l")

      ### Reduction to 50 points
      dn2 <- reduceNbTimes(trajLong=dn,nbPoints=50)
      xyplot(traj ~ times, data=dn2, groups=id,type="l")

      ### Reduction to 20 points
      dn3 <- reduceNbTimes(trajLong=dn,nbPoints=20)
      xyplot(traj ~ times, data=dn3, groups=id,type="l")

      ### Smoothing then reduction to 20 points
      dn4 <- reduceNbTimes(trajLong=dn,nbPoints=20,spar=0.5)
      xyplot(traj ~ times, data=dn4, groups=id,type="l")

[Package kmlShape version 0.9.5 Index]