R-在地图中使用simsem

R-在地图中使用simsem,r,purrr,r-lavaan,R,Purrr,R Lavaan,我在lavan中计算了100多个SEM模型。对于本例,我将仅使用两个模型: fit.model1.cfa <- ' ind60 =~ x1 + x2 + x3 dem60 =~ y1 + y2 + y3 + y4 dem65 =~ y5 + y6 + y7 + y8 ind60 ~~ ind60 dem60 ~~ dem60 dem65 ~~ dem65' %>% sem(PoliticalDemocracy) fit.

我在
lavan
中计算了100多个SEM模型。对于本例,我将仅使用两个模型:

fit.model1.cfa <- '
    ind60 =~ x1 + x2 + x3
    dem60 =~ y1 + y2 + y3 + y4
    dem65 =~ y5 + y6 + y7 + y8
    ind60 ~~ ind60
    dem60 ~~ dem60
    dem65 ~~ dem65' %>%
       sem(PoliticalDemocracy)

fit.model2.cfa <- '
    ind60 =~ x1 + x2
    dem60 =~ y1 + y2 + y3
    dem65 =~ y5 + y6 + y7
    ind60 ~~ ind60
    dem60 ~~ dem60
    dem65 ~~ dem65' %>%
       sem(PoliticalDemocracy)
但是,我希望避免使用
for
循环,而是使用
map
函数。我尝试了以下方法:

models %>%
   map(., sim, nRep = 1000, model = ., n = pluck(pluck(., "SampleStats"), "ntotal"), generate = .) %>%
   map(getPower)

然而,这是行不通的。那么我做错了什么呢?

这是我第一次听说
lavan
simsem
及其模型,但我正试图帮助您了解
地图。我用
nRep=10
做了一个简单的解决方案,只是为了测试,你可以用
nRep=1000
复制它。此外,还返回了许多警告和进度,但为了清洁起见,我在下面的示例中删除了它们

库(tidyverse,verbose=F)
图书馆(拉万)
图书馆(西姆斯)
fit.model1.cfa%
高级行政主任(政治民主)
fit.model2.cfa%
高级行政主任(政治民主)
型号dem65=~y7 dem65=~y8 ind60~~ind60 dem60~~dem60 dem65~~dem65 x1~~x1
#>          1.0          1.0          1.0          1.0          1.0          1.0 
#>x2~~x2 x3~~x3 y1~~y1 y2~~y2 y3~~y3 y4~~y4
#>          0.5          1.0          1.0          1.0          1.0          1.0 
#>y5~~y5 y6~~y6 y7~~y7 y8~~y8 ind60~~dem60 ind60~~dem65
#>          1.0          1.0          1.0          1.0          1.0          1.0 
#>dem60~~dem65
#>          1.0 
#> 
#>$model2
#>ind60=~x2 dem60=~y2 dem60=~y3 dem65=~y6 dem65=~y7 ind60~~ind60
#>          1.0          1.0          1.0          1.0          1.0          1.0 
#>dem60~~dem60 dem65~~dem65 x1~~x1 x2~~x2 y1~~y1 y2~~y2
#>          1.0          1.0          0.4          0.4          0.8          1.0 
#>y3~~y3 y5~~y5 y6~~y6 y7~~y7 ind60~~dem60 ind60~~dem65
#>          1.0          1.0          1.0          1.0          0.9          1.0 
#>dem60~~dem65
#>          1.0

sim
功能来自哪个软件包?@rdornas来自
simsem
软件包
pwr <- list()

for(i in 1:2){
   sim(nRep = 1000, model = models[[i]], n = models[[i]]@SampleStats@ntotal, generate = models[[i]]) %>%
       getPower() -> pwr[[i]]
}
models %>%
   map(., sim, nRep = 1000, model = ., n = pluck(pluck(., "SampleStats"), "ntotal"), generate = .) %>%
   map(getPower)