【发布时间】:2016-10-01 13:56:46
【问题描述】:
希望有人可以在这里提供一些指导。
我正在使用 simDesign 包创建多变量模拟,我正在改变因子的数量以及加载在每个因子上的项目。我想编写一个命令来识别 factornumbers 中存在的因素的数量并为它们分配适当的项目(没有交叉加载)。我将测试以下条件的所有组合以及更多,并且我希望有一个模型命令来确认不同模型的迭代,因此我不必编写多个模型语句。
factornumbers<-c(1,2,3,5)
itemsperfactor<-c(5,10,30)
lavaan 和 mirt 正在寻找的内容如下:
mirtmodel<-mirt.model('
F1=1-15
F2=16-30
MEAN=F1,F2
COV=F1*F2')
lavmodel <- ' F1=~ Item_1 + Item_2 + Item_3 + Item_4 + Item_5 + Item_6 + Item_7 + Item_8 + Item_9 + Item_10 + Item_11 + Item_12 + Item_13 + Item_14 + Item_15
F2=~ Item_16 + Item_17 + Item_18 + Item_19 + Item_20 + Item_21 + Item_22 + Item_23 + Item_24 + Item_25 + Item_26 + Item_27 + Item_28 + Item_29 + Item_30'
simDesign 包提供了这个示例,我想对其进行扩展,但我不确定我是否掌握诀窍:
lavmodel<-paste0('F=~ ', paste0(colnames(dat)[1L], ' + '),
paste0(colnames(dat)[-1L], collapse = ' + '))
我想要的是一个单独的 mirt 和 lavaan 命令,它可以找到在 factornumbers 命令中指定的因子数量,并分配数据中指定的正确项目以及 itemsperfactor。
编辑: 我希望模型识别能够确定哪个因素和项目结构用于该条件,并用正确的信息填写模型识别。
例如:
mirtmodel<-mirt.model('
F1=1-1
F2=6-10
F3=11-15
F4=16-20
F5=21-25
MEAN=F1,F2,F3,F4,F5
COV=F1*F2*F3*F4*F5')
或者
mirtmodel<-mirt.model('
F1=1-30
F2=31-60
MEAN=F1,F2
COV=F1*F2')
还有相应的熔岩模型。
【问题讨论】:
-
“我想写一个命令来识别 factornumbers 中存在的因子的数量,并为它们分配适当的项目(没有交叉加载)”这不是你从 @ 知道的先验知识吗? 987654326@ 条件输入?如果您编辑问题以显示您正在寻找的语法类型(例如,1 个因素 10 项与 2 个因素 20 项),可能会更容易。
-
@philchalmers “这不是您从设计条件输入中预先知道的吗?”对,我正在尝试将相同的先验条件传递给模型结构。我希望它认识到它需要一个具有 1,2,....n 因子和 5,10,30 个项目的模型,具体取决于运行的条件,并在给定条件输入的情况下自动执行。这是否使它更清楚?我已经在 mirt 示例中进行了编辑,我也会在 lavaan 中复制它们。感谢您的帮助。
标签: r iteration simulation r-lavaan