【发布时间】:2021-01-07 22:19:00
【问题描述】:
我想用 R 中的simsem 包生成数据。到目前为止,我已经做到了:
# create data with simsem package
## factor loadings
loading <- matrix(0, 7)
loading[1,1] <- NA
LY2 <- bind(loading, 1)
## residual correlation matrix
latent.cor <- matrix(NA, 1, 1)
diag(latent.cor) <- 1
RPS2 <- binds(latent.cor, 0.5)
# measurement error corr matrix
RTE2 <- binds(diag(7))
# total variance of indicators
VY2 <- bind(rep(NA,7),2)
CFA.Model2 <- model(LY = LY2, RPS = RPS2, RTE = RTE2, modelType = "CFA")
# generate data
dist <- bindDist("norm", list(mean = 4, sd = 1))
dat <- generate(CFA.Model2, n = 50, indDist = dist)
我希望为从 1 到 5 的 7 个项目创建项目响应。然而,我创建的数据如下所示:
head(dat, 4)
y1 y2 y3 y4 y5
1 -0.3042082 -0.009703124 0.070651822 1.9138537 -0.02754102
2 0.9574723 -1.691375825 0.441645186 -0.1770509 -0.35793280
3 -2.1808565 1.467395026 -0.350395973 -0.1660219 -0.42191898
4 -0.2367881 0.003594693 -0.002771362 -0.1323401 -1.44860960
y6 y7
1 -1.2557268 -1.52874138
2 -0.9963241 0.87807237
3 -1.7527848 0.31383091
4 1.2102580 0.03469505
如何创建范围从 1 到 5 的数据?我希望结果如下:
head(dat, 4)
y1 y2 y3 y4 y5 y6 y7
1 3 5 3 5 5 5 5
2 5 5 5 5 5 3 5
3 3 4 1 2 2 2 4
4 5 4 1 2 4 5 4
【问题讨论】:
标签: r simulation