Skip to contents

This function evaluates the Lambda matrix such as per column : Lambda_i = int_0^T X(t) phi_i(t) dt. The curve_type input is important function of the type of data you work with 'cat' for Categorical Functional Data 'num' for Scalar Functional Data

Usage

evaluate_lambda(
  df,
  basis,
  curve_type = NULL,
  int_mode = 1,
  id_col = "id",
  time_col = "time",
  nb_pt = 10,
  subdivisions = 100,
  regul_time = seq(basis$rangeval[1], basis$rangeval[2], 1),
  parallel = TRUE
)

Arguments

df

dataframe X(t)

basis

basis fd object

curve_type

a character, 'cat' for Categorical FD, 'num' for Scalar FD

int_mode

integration mode, 1 for integrate, 2 for pracma::trapz

id_col

a character for the id column, default 'id'

time_col

a character for the time column, default 'time'

nb_pt

number of points for the integration, default value : 10

subdivisions

default parameter of R function integrate; default value : 100

regul_time

regul_time a vector of time regularization values default basis rangeval per 1

parallel

a boolean to use parallelization, default TRUE

Value

a matrix \(\Lambda_i = \int_0^T X(t) \phi_i(t) dt\)

Author

Francois Bassac

Examples

df = generate_X_df(nind=100, start=0, end=100, curve_type = 'cat',
lambda_0=0.2, lambda_1=0.1, prob_start=0.5)
basis = create_bspline_basis(0, 100, 10, 4)
Lambda = evaluate_lambda(df, basis, curve_type = 'cat')
#> Warning: package 'future' was built under R version 4.4.3


df = generate_X_df(nind=100, start=0, end=100, curve_type = 'num')
basis = create_bspline_basis(0, 100, 10, 4)
Lambda = evaluate_lambda(df, basis, curve_type = 'num', int_mode = 2)