## Not run: ## Example takes a few minutes
#
# ## Fake some data
#
# ## Brownian motion tethered at each end
# brownian.bridge <- function(n, r) {
# x <- cumsum(rnorm(n, 0, 1))
# x <- x - (x[1] + seq(0, 1, length=n) * (x[n] - x[1]))
# r * x
# }
#
# ## Number of days and number of obs
# days <- 50
# n <- 200
#
# ## Make separation between obs gamma distributed
# x <- rgamma(n, 3)
# x <- cumsum(x)
# x <- x/x[n]
#
# ## Track is lissajous + brownian bridge
# b.scale <- 0.6
# r.scale <- sample(c(0.1, 2, 10.2), n, replace=TRUE,
# prob=c(0.8, 0.18, 0.02))
# set.seed(44)
#
# tms <- ISOdate(2001, 1, 1) + trunc(days * 24 * 60 * 60 *x)
# lon <- 120 + 20 * sin(2 * pi * x) +
# brownian.bridge(n, b.scale) + rnorm(n, 0, r.scale)
# lat <- -40 + 10 *(sin(3 * 2 * pi * x) + cos(2 * pi * x) - 1) +
# brownian.bridge(n, b.scale) + rnorm(n, 0, r.scale)
#
# tr <- new("trip",
# SpatialPointsDataFrame(cbind(lon, lat),
# data.frame(gmt=tms, id="lbb")),
# TimeOrderedRecords(c("gmt", "id")))
# plot(tr)
#
# ## the filtered version
# trf <- filter.penSS(tr, lambda=1, iterlim=400, print.level=1)
#
# lines(trf)
#
# ## End(Not run)
Run the code above in your browser using DataLab