Description Usage Arguments Details Value Author(s) See Also Examples
Updates/sets the temporal trend for STdata
or STmodel
objects. It also checks that the spatio-temporal covariate exists for all
dates in the trend, mainly an issue if extra.dates!=NULL
adds
additional times at which to do predictions.
1 2 3 4 5 6 7 8 9 10 11 | ## S3 method for class 'STdata'
updateTrend(object, n.basis = 0, fnc = NULL,
extra.dates = NULL, ...)
## S3 method for class 'STmodel'
updateTrend(object, n.basis = 0, fnc = NULL, ...)
updateTrend(object, n.basis = 0, fnc = NULL, ...)
updateSTdataTrend(object, n.basis = 0, extra.dates = NULL, fnc = NULL,
...)
|
object |
A |
n.basis |
number of basis functions for the temporal trend |
fnc |
Function that defines the trend, see Details and Example. |
extra.dates |
Additional dates for which smooth trends should be
computed (otherwise only those in |
... |
Additional parameters passed to |
If n.basis
is given this will use calcSmoothTrends
to
compute smoothed SVDs of data for use as temporal trends. If fnc
is
given, n.basis
is ignored and fnc
should be a function that,
given a vector of dates, returns an object that can be coerced to a
data.frame with numeric temporal trends; recall that an intercept is
always added.
For a STmodel
object the new trend must have no more components
than the existing trend; if a function is given colnames
of the new
trend must match those of the existing trend.
In both cases the returned STdata
or STmodel
object will have
both a $trend
and $trend.fnc
field.
Function updateSTdataTrend
is deprecated and will be removed in
future versions of the package.
Returns a modfied version of the input, with an added/altered trend.
Johan Lindstrom
Other STdata functions: c.STmodel
,
createDataMatrix
,
createSTdata
, createSTmodel
,
detrendSTdata
,
estimateBetaFields
,
removeSTcovarMean
Other SVD for missing data: SVDmiss
,
SVDsmooth
, calcSmoothTrends
,
plot.SVDcv
, print.SVDcv
Other STmodel functions: createCV
,
createDataMatrix
,
createSTmodel
,
dropObservations
,
estimateBetaFields
,
loglikeSTdim
, loglikeST
,
predictNaive
, processLUR
,
processLocation
, updateCovf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | ##load data
data(mesa.model)
##default data and time trend for one location
par(mfrow=c(3,1), mar=c(2.5,2.5,3,1))
plot(mesa.model)
##let's try with no trend
mesa.model.0 <- updateTrend(mesa.model, n.basis=0)
plot(mesa.model.0)
##...and two basis functions, based on only AQS sites and much less smooth
subset <- mesa.model$locations$ID[mesa.model$locations$type=="AQS"]
mesa.model.2 <- updateTrend(mesa.model, n.basis=2, subset=subset, df=100)
plot(mesa.model.2)
##Compute trends based on only 10 sites (and compute the cross-validated
##trends leaving each of the sites out
smooth.trend <- calcSmoothTrends(mesa.model, n.basis=2, cv=TRUE,
subset=subset[1:10])
##update trends using the function definition
mesa.model <- updateTrend(mesa.model, fnc=smooth.trend$trend.fnc)
##and create objects with each of the trends.
mesa.model.cv <- vector("list", length(smooth.trend$trend.fnc.cv))
for(i in 1:length(mesa.model.cv)){
suppressMessages(mesa.model.cv[[i]] <- updateTrend(mesa.model,
fnc=smooth.trend$trend.fnc.cv[[i]]))
}
##plot
par(mfrow=c(1,1),mar=c(2.5,2.5,3,1))
plot(mesa.model)
for(i in 1:length(mesa.model.cv)){
plot(mesa.model.cv[[i]], add=TRUE, col=i, pch=NA, lty=c(NA,2))
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.