simulate_psych {psychmeta} | R Documentation |
Simulate Monte Carlo psychometric data (observed, true, and error scores)
Description
Simulate Monte Carlo psychometric data (observed, true, and error scores)
Usage
simulate_psych(
n,
rho_mat,
mu_vec = rep(0, ncol(rho_mat)),
sigma_vec = rep(1, ncol(rho_mat)),
rel_vec = rep(1, ncol(rho_mat)),
sr_vec = rep(1, ncol(rho_mat)),
k_items_vec = rep(1, ncol(rho_mat)),
wt_mat = NULL,
sr_composites = NULL,
var_names = NULL,
composite_names = NULL
)
Arguments
n |
Number of cases to simulate before performing selection. |
rho_mat |
Matrix of true-score correlations. |
mu_vec |
Vector of means. |
sigma_vec |
Vector of observed-score standard deviations. |
rel_vec |
Vector of reliabilities corresponding to the variables in |
sr_vec |
Vector of selection ratios corresponding to the variables in |
k_items_vec |
Number of test items comprising each of the variables to be simulated (all are single-item variables by default). |
wt_mat |
Optional matrix of weights to use in forming a composite of the variables in |
sr_composites |
Optional vector selection ratios for composite variables. If not |
var_names |
Vector of variable names corresponding to the variables in |
composite_names |
Optional vector of names for composite variables. |
Value
A list of observed-score, true-score, and error-score data frames. If selection is requested, the data frames will include logical variables indicating whether each case would be selected on the basis of observed scores, true scores, or error scores.
Examples
## Generate data for a simple sample with two variables without selection:
simulate_psych(n = 1000, rho_mat = matrix(c(1, .5, .5, 1), 2, 2), sigma_vec = c(1, 1),
rel_vec = c(.8, .8), var_names = c("Y", "X"))
## Generate data for a simple sample with two variables with selection:
simulate_psych(n = 1000, rho_mat = matrix(c(1, .5, .5, 1), 2, 2), sigma_vec = c(1, 1),
rel_vec = c(.8, .8), sr_vec = c(1, .5), var_names = c("Y", "X"))
## Generate data for samples with five variables, of which subsets are used to form composites:
rho_mat <- matrix(.5, 5, 5)
diag(rho_mat) <- 1
simulate_psych(n = 1000, rho_mat = rho_mat,
rel_vec = rep(.8, 5), sr_vec = c(1, 1, 1, 1, .5),
wt_mat = cbind(c(0, 0, 0, .3, 1), c(1, .3, 0, 0, 0)), sr_composites = c(.7, .5))
## Generate data for similar scenario as above, but with scales consisting of 1-5 items:
rho_mat <- matrix(.5, 5, 5)
diag(rho_mat) <- 1
simulate_psych(n = 1000, rho_mat = rho_mat,
rel_vec = rep(.8, 5), sr_vec = c(1, 1, 1, 1, .5),
k_items_vec = 1:5,
wt_mat = cbind(c(0, 0, 0, .3, 1), c(1, .3, 0, 0, 0)), sr_composites = c(.7, .5))