感觉卡住了这一点,很想得到一些建议。我觉得我迷失了方向这是什么阻碍了我。在下面的代码中,我尝试运行两个DIF分析,一个关于种族,一个关于性别。我相信我在文档中阅读的是,为了使用DIF函数,我必须至少传递一个来自multipleGroups函数的模型和一个分组变量(即种族或性别)。现在我被挂起了,因为当我尝试运行下面的代码时,我得到了以下错误:错误:提供的组输入无效。我以为我传递的是一个分组变量“种族”或“性别”的数组,但考虑到错误,我想我不是。一旦我清除了multipleGroup错误,如果能帮助我修复这个错误和/或在DIF函数中设置分组变量,将不胜感激。
谢谢
安德鲁
#re-load a clean data set
Q_Data <- read_excel("C:/Data/Data_Spring_2021.xlsx")
#create a gender grouping variable
gender <- Q_Data$Demo_Sex
#create a race grouping variable
race <- Q_Data$Demo_Race
#define the model
fullModel <- 'f1 = Q_1, Q_2, Q_3, Q_4, Q_5,
Q_6, Q_7, Q_8, Q_9, Q_10, Q_11, Q_12,
Q_13, Q_14, Q_15, Q_16, Q_17, Q_18'
gmModel <- 'f1 = Q_4, Q_5, Q_8, Q_9, Q_14, Q_16'
cuModel <- 'f1 = Q_3, Q_6, Q_10, Q_15, Q_17, Q_18'
diModel <- 'f1 = Q_1, Q_2, Q_7, Q_11, Q_12, Q_13'
#set the model for use in mirt
fullModel <- mirt.model(fullModel)
F1Model <- mirt.model(F1Model)
cuModel <- mirt.model(cuModel)
diModel <- mirt.model(diModel)
#run multipleGroups on total score
Full_Race <- multipleGroup(Q_Data, fullModel, race)
Full_Gender <- multipleGroup(Q_Data, fullModel, gender)
#run multipleGroups on factor scores
F1_Race <- multipleGroup(Q_Data, F1Model, race)
F1_Gender <- multipleGroup(Q_Data, F1Model, gender)
F2_Race <- multipleGroup(Q_Data, F2Model, race)
F2_Gender <- multipleGroup(Q_Data, F2Model, gender)
F3_Race <- multipleGroup(Q_Data, F3Model, race)
F3_Gender <- multipleGroup(Q_Data, F3Model, gender)
#Look at DIF
DIF(Full_Race, which.par = race)```
2条答案
按热度按时间ohfgkhjo1#
我从MIRT软件包的开发者Phil查尔默斯那里得到的是:
DIF()
的which.par
输入正在查找要在相应项中测试的参数类型(例如,是否仅测试截距参数?which.par = 'd'
。通过释放df=2检验的斜率截距项来实现非均匀DIF?在帮助文件中有许多示例,您可能会发现在执行自己的分析之前检查这些示例很有用。或者,您也可以通过比较多组模型与嵌套MG模型中您喜欢的任何约束来研究DIF。guz6ccqo2#
检查Group数组中的值。尝试转换为字符,如果没有,像使用dplyr包: