thr {dlnm} | R Documentation |
Generate a Basis Matrix of Linear Threshold Transformations
Description
The function generates a basis matrix including transformed variables through high, low or double linear threshold parameterization. It is meant to be used internally by onebasis
and crossbasis
and not directly run by the users.
Usage
thr(x, thr.value=NULL, side=NULL, intercept=FALSE)
Arguments
x |
the predictor variable. Missing values are allowed. |
thr.value |
numeric scalar or vector defining the threshold value(s). |
side |
type of threshold parameterization: |
intercept |
logical. If |
Details
A linear threshold function defines a linear relationship beyond a specific threshold. A high linear threshold defines a linear increase above the threshold, while a low linear threshold defines a linear increase below. A double linear threshold includes both of them.
The argument thr.value
is placed at the median if not provided. If side
is not provided, the default is side="h"
when thr.value
is a scalar, side="d"
otherwise. Only the minimum (for side="h"
and side="l"
) and minimum and maximum values (for side="d"
) of thr.value
are considered.
If intercept=TRUE
, an intercept is included in the model, namely an additional variable with a constant value of 1.
Value
A matrix object of class "thr"
. It contains the attributes thr.value
, side
and intercept
, with values which can be different than the arguments provided due to internal reset.
Note
This function is mainly used internally thorugh onebasis
and crossbasis
to create basis and cross-basis matrices, respectively. It is not exported in the namespace, and can be accessed through the triple colon operator ':::
' (see Examples below).
Author(s)
Antonio Gasparrini <antonio.gasparrini@lshtm.ac.uk>
See Also
onebasis
to generate basis matrices and crossbasis
to generate cross-basis matrices.
See dlnm-package
for an introduction to the package and for links to package vignettes providing more detailed information.
Examples
### simple use (accessing non-exported function through ':::')
dlnm:::thr(1:5, thr=3)
dlnm:::thr(1:5, side="d")
dlnm:::thr(1:5, side="d", intercept=TRUE)
### use as an internal function in onebasis
b <- onebasis(chicagoNMMAPS$pm10, "thr", thr.value=20)
summary(b)
model <- glm(death ~ b, family=quasipoisson(), chicagoNMMAPS)
pred <- crosspred(b, model, at=0:60)
plot(pred, xlab="PM10", ylab="RR", main="RR for PM10")