Description Usage Arguments Details Value Author(s) References See Also Examples
View source: R/df.residual.fRegress.R
Effective degrees of freedom for residuals, being the trace of the
idempotent hat
matrix transforming observations into residuals
from the fit.
1 2 | ## S3 method for class 'fRegress'
df.residual(object, ...)
|
object |
Object of class inheriting from |
... |
additional arguments for other methods |
1. Determine N = number of observations
2. df.model <- object\$df
3. df.residual <- (N - df.model)
4. Add attributes
The numeric value of the residual degrees-of-freedom extracted from
object
with the following attributes:
nobs |
number of observations |
df.model |
effective degrees of freedom for the model, being the trace of the idempotent linear projection operator transforming the observations into their predictions per the model. This includes the intercept, so the 'degrees of freedom for the model' for many standard purposes that compare with a model with an estimated mean will be 1 less than this number. |
Spencer Graves
Ramsay, James O., and Silverman, Bernard W. (2005), Functional Data Analysis, 2nd ed., Springer, New York. Hastie, Trevor, Tibshirani, Robert, and Friedman, Jerome (2001) The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Springer, New York.
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 38 39 40 41 | ##
## example from help('lm')
##
ctl <- c(4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14)
trt <- c(4.81,4.17,4.41,3.59,5.87,3.83,6.03,4.89,4.32,4.69)
group <- gl(2,10,20, labels=c("Ctl","Trt"))
weight <- c(ctl, trt)
fRegress.D9 <- fRegress(weight ~ group)
dfr.D9 <- df.residual(fRegress.D9)
# Check the answer manually
lm.D9 <- lm(weight ~ group)
dfr.D9l <- df.residual(lm.D9)
attr(dfr.D9l, 'nobs') <- length(predict(lm.D9))
attr(dfr.D9l, 'df.model') <- 2
all.equal(dfr.D9, dfr.D9l)
##
## functional response with (concurrent) functional explanatory variable
##
# *** NOT IMPLEMENTED YET FOR FUNCTIONAL RESPONSE
# BUT WILL EVENTUALLY USE THE FOLLOWING EXAMPLE:
(gaittime <- as.numeric(dimnames(gait)[[1]])*20)
gaitrange <- c(0,20)
gaitbasis <- create.fourier.basis(gaitrange, nbasis=21)
harmaccelLfd <- vec2Lfd(c(0, (2*pi/20)^2, 0), rangeval=gaitrange)
gaitfd <- smooth.basisPar(gaittime, gait,
gaitbasis, Lfdobj=harmaccelLfd, lambda=1e-2)$fd
hipfd <- gaitfd[,1]
kneefd <- gaitfd[,2]
knee.hip.f <- fRegress(kneefd ~ hipfd)
#knee.hip.dfr <- df.residual(knee.hip.f)
# Check the answer
#kh.dfr <- knee.hip.f$df ???
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.