GenBinaryFD: Generate binary functional data

View source: R/GenBinaryFD.R

GenBinaryFDR Documentation

Generate binary functional data

Description

Generate binary functional data through latent process.

Usage

GenBinaryFD(n, interval, sparse, regular, meanfun, score, eigfd)

Arguments

n

An integer denoting the number of sample size.

interval

A vector of length two denoting the supporting interval.

sparse

A vector denoting the possible numbers of observation size. The elements are chosen with equal chance. The length of sparse must be one if regular = TRUE.

regular

Logical; If TRUE, the observation grids are equally-spaced.

meanfun

A function for the mean.

score

A n by npc matrix containing the FPC scores, where npc is the number of FPCs.

eigfd

A list containing functional objects for the eigenfunctions.

Value

A list containing the following components:

Lt

A list of n vectors, where n is the sample size. Each entry contains the observation time in ascending order for each subject.

Lx

A list of n vectors, where n is the sample size. Each entry contains vales of the latent process of each subject at the observation time correspond to Lt.

Ly

A list of n vectors, where n is the sample size. Each entry contains the binary measurements of each subject at the observation time correspond to Lt.

Examples

n <- 100
npc <- 2
interval <- c(0, 10)
gridequal <- seq(0, 10, length.out = 51)
basis <- fda::create.bspline.basis(c(0, 10), nbasis = 13, norder = 4,
         breaks = seq(0, 10, length.out = 11))
meanfun <- function(t){2 * sin(pi * t/5)/sqrt(5)}
lambda_1 <- 3^2 #the first eigenvalue
lambda_2 <- 2^2 #the second eigenvalue
score <- cbind(rnorm(n, 0, sqrt(lambda_1)), rnorm(n, 0, sqrt(lambda_2)))
eigfun <- list()
eigfun[[1]] <- function(t){cos(pi * t/5)/sqrt(5)}
eigfun[[2]] <- function(t){sin(pi * t/5)/sqrt(5)}
eigfd <- list()
for(i in 1:npc){
  eigfd[[i]] <- fda::smooth.basis(gridequal, eigfun[[i]](gridequal), basis)$fd
}
DataNew <- GenBinaryFD(n, interval, sparse = 8:12, regular = FALSE,
           meanfun = meanfun, score, eigfd)


SLFPCA documentation built on Dec. 28, 2022, 1:34 a.m.

Related to GenBinaryFD in SLFPCA...