Create a dataset with indices from a functional dataset in one or multiple dimensions
Source:R/indices.R
generate_indices.Rd
Create a dataset with indices from a functional dataset in one or multiple dimensions
Usage
generate_indices(
curves,
k,
bs = "cr",
indices = c("EI", "HI", "MEI", "MHI"),
n_cores = 1,
...
)
Arguments
- curves
matrix
with dimension \(n \times p\) in the case of a one-dimensional functional dataset, orarray
of dimension \(n \times p \times q\) in the case of a multivariate functional dataset. \(n\) represents the number of curves, \(p\) the number of values along the curve, and in the second case, \(q\) is the number of dimensions.- k
Number of basis functions for the B-splines. If equals to 0, the number of basis functions will be automatically selected.
- bs
A two letter character string indicating the (penalized) smoothing basis to use. See
smooth.terms
.- indices
Set of indices to be applied to the dataset. They should be any between EI, HI, MEI and MHI.
- n_cores
Number of cores to do parallel computation. 1 by default, which mean no parallel execution. Must be an integer number greater than 1.
- ...
Additional arguments for tfb. See
tfb
.
Value
A dataframe containing the indices provided in indices
for
original data, first and second derivatives
Examples
# 3-dimensional array
x1 <- array(c(1, 2, 3, 3, 2, 1, 5, 2, 3, 9, 8, 7, -1, -5, -6, 2, 3, 0, -1, 0, 2, -1, -2, 0),
dim = c(3, 4, 2)
)
generate_indices(x1, k = 4)
#> Warning: Fit captures <50% of input data variability for at least one function -- consider increasing no. of basis functions 'k' or decreasing penalization.
#> dtaEI ddtaEI d2dtaEI dtaHI ddtaHI d2dtaHI dtaMEI
#> 1 0.6666667 0.6666667 0.6666667 0.3333333 0.3333333 0.3333333 0.6666667
#> 2 0.6666667 0.6666667 0.6666667 0.3333333 0.3333333 0.3333333 0.5000000
#> 3 0.6666667 0.6666667 0.6666667 0.3333333 0.3333333 0.3333333 0.5833333
#> ddtaMEI d2dtaMEI dtaMHI ddtaMHI d2dtaMHI
#> 1 0.6666667 0.6666667 0.4166667 0.3333333 0.5
#> 2 0.5000000 0.5000000 0.4166667 0.5000000 0.5
#> 3 0.5000000 0.3333333 0.4166667 0.5000000 0.5
# matrix
x2 <- matrix(c(1, 2, 3, 3, 2, 1, 5, 2, 3, 9, 8, 7), nrow = 3, ncol = 4)
generate_indices(x2, k = 4)
#> dtaEI ddtaEI d2dtaEI dtaHI ddtaHI d2dtaHI dtaMEI ddtaMEI
#> 1 0.6666667 0.6666667 0.3333333 0.3333333 0.3333333 0.3333333 0.50 0.3333333
#> 2 0.6666667 0.6666667 0.6666667 0.3333333 0.3333333 0.6666667 0.25 0.3333333
#> 3 0.6666667 0.6666667 0.6666667 0.3333333 0.3333333 0.3333333 0.25 0.3333333
#> d2dtaMEI dtaMHI ddtaMHI d2dtaMHI
#> 1 0.1666667 0.8333333 0.6666667 0.5000000
#> 2 0.5000000 0.5833333 0.6666667 0.8333333
#> 3 0.3333333 0.5833333 0.6666667 0.6666667
# using additional parameter for tfb
curves <- sim_model_ex1(n = 10)
generate_indices(
curves = curves,
k = 20,
bs = "bs",
m = c(3,2), # additional parameter for tfb
penalized = FALSE # additional parameter for tfb
)
#> dtaEI ddtaEI d2dtaEI dtaHI ddtaHI d2dtaHI dtaMEI ddtaMEI d2dtaMEI
#> 1 0.70 0.95 0.95 0.05 0.05 0.05 0.1683333 0.4483333 0.4700000
#> 2 0.65 0.95 0.95 0.05 0.05 0.05 0.1583333 0.4733333 0.4800000
#> 3 0.85 0.95 0.95 0.05 0.05 0.05 0.1833333 0.5033333 0.5266667
#> 4 0.90 0.95 0.95 0.05 0.05 0.05 0.6466667 0.4183333 0.4666667
#> 5 0.90 0.95 0.95 0.10 0.05 0.05 0.4800000 0.4950000 0.4866667
#> 6 0.85 0.95 0.95 0.05 0.05 0.05 0.2300000 0.4766667 0.4366667
#> 7 0.60 0.95 0.95 0.05 0.05 0.05 0.1350000 0.4983333 0.5133333
#> 8 0.85 0.95 0.95 0.05 0.05 0.05 0.4466667 0.4133333 0.4600000
#> 9 0.85 0.95 0.95 0.05 0.05 0.05 0.4266667 0.4783333 0.4800000
#> 10 0.90 0.95 0.95 0.05 0.05 0.05 0.4616667 0.5183333 0.4466667
#> 11 0.95 0.95 0.95 0.10 0.05 0.05 0.4833333 0.4550000 0.4666667
#> 12 0.95 0.95 0.95 0.10 0.05 0.05 0.4683333 0.4766667 0.4766667
#> 13 0.95 0.95 0.95 0.20 0.05 0.05 0.4933333 0.5066667 0.5233333
#> 14 0.95 0.95 0.95 0.35 0.05 0.05 0.8583333 0.4250000 0.4633333
#> 15 0.95 0.95 0.95 0.30 0.05 0.05 0.7466667 0.5016667 0.4833333
#> 16 0.95 0.95 0.95 0.10 0.05 0.05 0.5350000 0.4800000 0.4333333
#> 17 0.90 0.95 0.95 0.10 0.05 0.05 0.4416667 0.5050000 0.5100000
#> 18 0.95 0.95 0.95 0.35 0.05 0.05 0.7416667 0.4166667 0.4566667
#> 19 0.95 0.95 0.95 0.15 0.05 0.05 0.6633333 0.4850000 0.4766667
#> 20 0.95 0.95 0.95 0.20 0.05 0.05 0.7316667 0.5250000 0.4433333
#> dtaMHI ddtaMHI d2dtaMHI
#> 1 0.2183333 0.4983333 0.5200000
#> 2 0.2083333 0.5233333 0.5300000
#> 3 0.2333333 0.5533333 0.5766667
#> 4 0.6966667 0.4683333 0.5166667
#> 5 0.5300000 0.5450000 0.5366667
#> 6 0.2800000 0.5266667 0.4866667
#> 7 0.1850000 0.5483333 0.5633333
#> 8 0.4966667 0.4633333 0.5100000
#> 9 0.4766667 0.5283333 0.5300000
#> 10 0.5116667 0.5683333 0.4966667
#> 11 0.5333333 0.5050000 0.5166667
#> 12 0.5183333 0.5266667 0.5266667
#> 13 0.5433333 0.5566667 0.5733333
#> 14 0.9083333 0.4750000 0.5133333
#> 15 0.7966667 0.5516667 0.5333333
#> 16 0.5850000 0.5300000 0.4833333
#> 17 0.4916667 0.5550000 0.5600000
#> 18 0.7916667 0.4666667 0.5066667
#> 19 0.7133333 0.5350000 0.5266667
#> 20 0.7816667 0.5750000 0.4933333