Learn R Programming

dfrr (version 0.1.4)

predict.dfrr: 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 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 dfrr-object obtained from invoking the function dfrr.

newdata

a data.frame containing the values of all of the model covariates at which the latent functional response is going to be predicted.

newydata

(optional) a ydata-like data.frame containing the values of dichotomized response sparsly observed in the domain of function.

standardized, unstandardized

a boolean indicating whether stanadrdized/unstandardized predictions are reported. Defaults to standardized=TRUE.

return.fourier.coefs, return.evaluations

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

time_to_evaluate

a numeric vector indicating the set of time points for evaluating the predictions, 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 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.

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))).

See Also

plot.predict.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)

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)

# }

Run the code above in your browser using DataLab