library(lsasim)
packageVersion("lsasim")
[1] '2.1.2'
With the arguments theta = TRUE
, full_Output = TRUE
and family = "gaussian"
, the output will automatically contain the \(\beta\) vector and the \(R\) matrix (i.e., beta_gen
will be called automatically from within questionnaire_gen
).
We generate one latent trait, two continuous, one binary, and one 3-category covariates. The data is generated from a multivariate normal distribution. The logical argument full_output
is TRUE
.
set.seed(1234)
<- questionnaire_gen(n_obs = 1000, n_X = 2, n_W = list(2, 3), theta = TRUE, family = "gaussian",
bg full_output = TRUE)
str(bg$bg)
'data.frame': 1000 obs. of 6 variables:
$ subject: int 1 2 3 4 5 6 7 8 9 10 ...
$ theta : num -1.732 0.707 0.911 1.509 -0.5 ...
$ q1 : num -0.491 0.16 -0.39 -1.307 0.602 ...
$ q2 : num 0.5499 0.0669 0.087 -1.628 0.2559 ...
$ q3 : Factor w/ 2 levels "1","2": 2 2 2 1 2 2 1 1 2 1 ...
$ q4 : Factor w/ 3 levels "1","2","3": 1 2 3 2 1 2 1 1 1 3 ...
linear_regression
is a list that contains two elements. The first element, betas
, summarizes the true regression coefficients \(\beta\). The second element, vcov_YXW
, shows the \(R\) matrix.
$linear_regression bg
$betas
theta q1 q2 q3.2 q4.2 q4.3
-0.8174844 -0.5836818 -0.5402292 -0.1049199 0.8699444 1.7398887
$vcov_YXW
theta q1 q2 q3.2 q4.2 q4.3
theta 1.00000000 -0.17564245 -0.26487195 -7.889541e-02 0.000000e+00 0.12421718
q1 -0.17564245 1.00000000 -0.28027150 3.541595e-02 0.000000e+00 0.14963273
q2 -0.26487195 -0.28027150 1.00000000 2.556079e-01 0.000000e+00 0.07965237
q3.2 -0.07889541 0.03541595 0.25560791 2.500000e-01 -2.775558e-17 0.06097692
q4.2 0.00000000 0.00000000 0.00000000 -2.775558e-17 2.400000e-01 -0.12000000
q4.3 0.12421718 0.14963273 0.07965237 6.097692e-02 -1.200000e-01 0.21000000
beta_gen
uses the output from questionnaire_gen
to generate linear regression coefficients.
beta_gen(bg)
theta x1 x2 w12 w22 w23
-0.8174844 -0.5836818 -0.5402292 -0.1049199 0.8699444 1.7398887
If the logical argument MC
is TRUE
in beta_gen
, Monte Carlo simulation is used to estimate regression coefficients. If the logical argument rename_to_q
is TRUE
, the background variables are all labeled as q
to match the default behavior of questionnaire_gen
.
The first column contains the true \(\beta\), as estimated by the covariance matrix, which will always be the same for the same data. The column of MC
reports the Monte Carlo simulation estimates for \(\beta\), which is sample-dependent and will change each time the beta_gen
function is called. The next two columns summarize the 99% confidence interval for these estimates. And the column of cov_in_CI
return to logical argument whether the cov_matrix
estimates are contained within their respective confidence intervals (“1” corresponds to “yes” and “0” to “no”).
beta_gen(bg, MC = TRUE, MC_replications = 100, rename_to_q = TRUE)
cov_matrix MC 0.5% 99.5% cov_in_CI
theta -0.8174844 -0.7528447 -0.8380719 -0.64147366 1
q1 -0.5836818 -0.5627695 -0.6279581 -0.49666666 1
q2 -0.5402292 -0.4950472 -0.5571855 -0.44193911 1
q3.2 -0.1049199 -0.1876017 -0.3357658 -0.08231601 1
q4.2 0.8699444 0.8165117 0.7057719 0.92812704 1
q4.3 1.7398887 1.7389447 1.5867220 1.88949655 1
beta_gen(bg, MC = TRUE, MC_replications = 100, rename_to_q = TRUE)
cov_matrix MC 0.5% 99.5% cov_in_CI
theta -0.8174844 -0.7485083 -0.8550206 -0.63323259 1
q1 -0.5836818 -0.5650178 -0.6309527 -0.51627209 1
q2 -0.5402292 -0.4954573 -0.5544919 -0.43396311 1
q3.2 -0.1049199 -0.1793640 -0.3039317 -0.05262306 1
q4.2 0.8699444 0.8092411 0.6481412 0.95344844 1
q4.3 1.7398887 1.7205485 1.5569970 1.90153362 1