Automatically estimate the number of study-shared factors and study-specific factors based on the eigenvalue ratio method.
Usage
selectFac.MultiEFM(
XList,
q_max = 20,
qs_max = 20,
qd = NULL,
n_threads = 4,
sample_pairs = 0,
verbose = TRUE,
seed = 1
)Arguments
- XList
A length-S list, where each component represents a data matrix for a specific study.
- q_max
an integer, specify the maximum number of study-shared factors to consider; default as 20.
- qs_max
an integer, specify the maximum number of study-specified factors to consider; default as 20.
- qd
an optional integer, specify the true number of combined factors if known in advance; default is NULL.
- n_threads
an integer, specify the number of threads for parallel computing; default as 4.
- sample_pairs
an integer, specify the number of sample pairs used for estimation; default as 0.
- verbose
a logical value, whether to output the estimation information.
- seed
an integer, specify the random seed for reproducibility; default as 1.
Value
return a list including the following components:
- hq
the estimated number of study-shared factors;
- hqs_vec
an integer vector representing the estimated number of study-specific factors for each study;
- eigvals_A
the eigenvalues used for determining the shared factor number;
- eig_ratio_A
the eigenvalue ratios used for determining the shared factor number;
- eigvals_B
a list of eigenvalues used for determining the specific factor numbers;
- eig_ratio_B
a list of eigenvalue ratios used for determining the specific factor numbers.