predict_SOAP: This function computes the predicted trajectories based on...

Description Usage Arguments Examples

Description

This function computes the predicted trajectories based on etimated FECs and sparse observatios using the SOAP method

Usage

1
predict_SOAP(betalist, ylist, tlist, spline_basis, testt = NULL, nminus = 2)

Arguments

betalist

a list of all the FECs' coefficients

ylist

a list of observed longtitudinal data; each element in the list is a numeric vector for one subject's observed data

tlist

a list of observed time points

spline_basis

the B-spline basis for the fitted FEC

nminus

the total number of FECs in the betalist - nminus is the number of FECs used for predicting the individual's trajectory

Examples

 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
## Not run: 

library(fda)
data(simulate_data)
observed = simulate_data$observed
timepoints =simulate_data$timepoints
spline.basis=create.bspline.basis(rangeval=c(0,364),nbasis=15,norder=4)
beta0 = rep(observed%>%do.call(c,.)%>%mean,spline.basis$nbasis)
FEC1  = firstFEC(ylist=observed, tlist=timepoints,spline_basis=spline.basis, gamma=1e6,threshold=1e-5)
previous_beta = list()
previous_beta[[1]] = FEC1$beta
FEC2 = FECconditional(ylist=observed, tlist=timepoints,beta_previous=previous_beta,spline_basis=spline.basis, gamma=1e6,threshold=1e-5)
previous_beta[[2]] = FEC2$beta
FEC3 = FECconditional(ylist=observed, tlist=timepoints,beta_previous=previous_beta,spline_basis=spline.basis, gamma=1e6,threshold=1e-5)
previous_beta[[3]] = FEC3$beta

betas = do.call(cbind, previous_beta)
colnames(betas)  =c("FEC1","FEC2","FEC3")
fecs = fd(betas, spline.basis)

library(ggplot2)
fdagg(fecs)

predict_y = predict_SOAP(previous_beta,ylist=observed, testt = 1:10,tlist=timepoints,spline_basis=spline.basis,nminus=2)

i=6
plot(predict_y$predict[i],ylim=range(observed[[i]]))
lines(simulate_data$yfds[i])
points(x=timepoints[[i]],y=observed[[i]])

## End(Not run)

YunlongNie/fSOAP documentation built on May 12, 2019, 6:19 p.m.