##################
### Comparison of the method on a single trajectories
arrayMissing <- array(c(NA,NA,1,NA,6,NA,NA,-1,0,NA,NA),dim=c(1,13,1))
par(ask=TRUE)
plot(arrayMissing,col="red",lwd=3,type="b",ylim=c(-4,8),
xlab="Example of trajectory with missing values")
plot(imputation(arrayMissing,"LOCF"),col="black",ylim=c(-4,8),xlab="LOCF",lwd=1,type="b")
lines(arrayMissing,col="red",lwd=3,type="b")
plot(imputation(arrayMissing,"LOCB"),col="black",ylim=c(-4,8),xlab="LOCB",lwd=1,type="b")
lines(arrayMissing,col="red",lwd=3,type="b")
plot(imputation(arrayMissing,"LI-Global"),col="black",ylim=c(-4,8),xlab="LI-Global",lwd=1,type="b")
lines(arrayMissing,col="red",lwd=3,type="b")
plot(imputation(arrayMissing,"LI-Local"),col="black",ylim=c(-4,8),xlab="LI-Local",lwd=1,type="b")
lines(arrayMissing,col="red",lwd=3,type="b")
plot(imputation(arrayMissing,"LI-Bissectrice"),col="black",ylim=c(-4,8),xlab="LI-Bissectrice",lwd=1,type="b")
lines(arrayMissing,col="red",lwd=3,type="b")
plot(imputation(arrayMissing,"LI-LOCBF"),col="black",ylim=c(-4,8),xlab="LI-LOCBF",lwd=1,type="b")
lines(arrayMissing,col="red",lwd=3,type="b")
##################
### Real example on array
time=c(1,2,3,4,8,12,16,20)
id2=1:120
f <- function(id,t)((id-1)%%3-1) * t
g <- function(id,t)(id%%2+1)*t
tra2 <- array(cbind(outer(id2,time,f),outer(id2,time,g))+rnorm(120*8*2,0,3),dim=c(120,8,2))
for(i in 1:640){tra2[floor(runif(1,1,120)),floor(runif(1,1,9)),floor(runif(1,1,3))]<-NA}
(tra2)
(tra2imp <- imputation(tra2))
##################
### Real example on LongData
ld2 <- as.longData(tra2)
plot3d(ld2)
imputation(ld2)
plot3d(ld2)
###### EXAMPLE WITH RANGE ######
par(ask=FALSE)
Run the code above in your browser using DataLab