predict.dfrr {dfrr} | R Documentation |
Prediction for dichotomized function-on-scalar regression
Description
Takes a dfrr
-object created by dfrr()
and returns predictions
given a new set of values for a model covariates and an optional ydata
-like
data.frame
of observations for the dichotomized response.
Usage
## S3 method for class 'dfrr'
predict(
object,
newdata,
newydata = NULL,
standardized = NULL,
unstandardized = !standardized,
return.fourier.coefs = NULL,
return.evaluations = !return.fourier.coefs,
time_to_evaluate = NULL,
...
)
Arguments
object |
a fitted |
newdata |
a |
newydata |
(optional) a |
standardized , unstandardized |
a |
return.fourier.coefs , return.evaluations |
a |
time_to_evaluate |
a numeric vector indicating the set of time points for evaluating the predictions, for the case of |
... |
dot argument, just for consistency with the generic function |
Details
This function will return either the Fourier coefficients or the evaluation of
predictions. 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 predictions on the set of time points specified by vector time
,
equals to fitted(dfrr_fit,return.fourier.coefs=T)%*%t(eval.basis(time,basis(dfrr_fit)))
.
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 sample size (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 the predicted curves.
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 predicted curves
evaluated at time points given in time_to_evaluate
.
See Also
Examples
set.seed(2000)
N<-50;M<-24
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)
newdata<-data.frame(X=c(1,0))
preds<-predict(dfrr_fit,newdata=newdata)
plot(preds)
newdata<-data.frame(X=c(1,0))
newydata<-data.frame(.obs=rep(1,5),.index=c(0.0,0.1,0.2,0.3,0.7),.value=c(1,1,1,0,0))
preds<-predict(dfrr_fit,newdata=newdata,newydata = newydata)
plot(preds)