Learn R Programming

dfrr (version 0.1.4)

coef.dfrr: Get estimated coefficients from a dfrr fit

Description

Returns estimations of the smooth functional regression coefficients \(\beta(t)\). The result is a matrix of either Fourier coefficients or evaluations. See Details.

Usage

# S3 method for dfrr
coef(
  object,
  standardized = NULL,
  unstandardized = !standardized,
  return.fourier.coefs = NULL,
  return.evaluations = !return.fourier.coefs,
  time_to_evaluate = NULL,
  ...
)

Arguments

object

a dfrr-object

standardized, unstandardized

a boolean indicating whether stanadrdized/unstandardized regression coefficients are reported. Only standardized regression coefficients are identifiable, thus the arugment is defaults to standardized=TRUE.

return.fourier.coefs, return.evaluations

a boolean indicating whether the Fourier coefficients of regression coefficients are returned (return.fourier.coefs=TRUE), or evaluations of the regression coefficients (return.evaluations=TRUE). Defaults to return.fourier.coefs=TRUE.

time_to_evaluate

a numeric vector indicating the set of time points for evaluating the functional regression coefficients, for the case of return.evaluations=TRUE.

...

dot argument, just for consistency with the generic function

Value

This function returns a matrix of dimension NxM or NxJ, depending the argument 'return.evaluations'. If return.evaluations=FALSE, the returned matrix is NxJ, where N denotes the number of functional regression coefficients, (the number of rows of the argument 'newData'), and J denotes the number of basis functions. Then, the NxJ matrix is the fourier coefficients of functional regression coefficients. If return.evaluations=TRUE, the returned matrix is NxM, where M is the length of the argument time_to_evaluate. Then, the NxM matrix is the functional regression coefficients evaluated at time points given in time_to_evaluate.

Details

This function will return either the Fourier coefficients or the evaluation of estimated coefficients. Fourier coefficients which are reported are based on the a set of basis which can be determined by basis(dfrr_fit). Thus the evaluation of regression coefficients on the set of time points specified by vector time, equals to fitted(dfrr_fit)%*%t(eval.basis(time,basis(dfrr_fit))).

Consider that the unstandardized estimations are not identifiable. So, it is recommended to extract and report the standardized estimations.

See Also

plot.coef.dfrr

Examples

Run this code
# NOT RUN {
set.seed(2000)
# }
# NOT RUN {
N<-50;M<-24
# }
# NOT RUN {
X<-rnorm(N,mean=0)
time<-seq(0,1,length.out=M)
Y<-simulate_simple_dfrr(beta0=function(t){cos(pi*t+pi)},
                        beta1=function(t){2*t},
                        X=X,time=time)

#The argument T_E indicates the number of EM algorithm.
#T_E is set to 1 for the demonstration purpose only.
#Remove this argument for the purpose of converging the EM algorithm.
dfrr_fit<-dfrr(Y~X,yind=time,T_E=1)
coefs<-coef(dfrr_fit)
plot(coefs)
# }

Run the code above in your browser using DataLab