问题描述
使用SPSS v.26,我正在寻求使用OMS生成一个新的数据集,其中包含使用UNIANOVA命令对自变量进行的均值和均值。因变量是“ WSoPSS”;自变量为“ PathwayID”,协变量为“ P1Cov”。语法如下:
DATASET DECLARE Run01.
OMS
/SELECT TABLES
/IF COMMANDS=['UNIANOVA'] SUBTYPES=[' Estimated Marginal Means']
/DESTINATION FORMAT=SAV NUMBERED=TableNumber_
OUTFILE='Run01' VIEWER=YES
/TAG='Run01'.
UNIANOVA WSoPSS BY PathwayID WITH P1Cov
/METHOD=SSTYPE(3)
/INTERCEPT=INCLUDE
/EMMEANS=TABLES(OVERALL) WITH(P1Cov=MEAN)
/EMMEANS=TABLES(PathwayID) WITH(P1Cov=MEAN) COMPARE ADJ(LSD)
/PRINT ETASQ DESCRIPTIVE
/CRITERIA=ALPHA(.05)
/DESIGN=P1Cov PathwayID.
OMSEND tag = ['Run01'].
分析和输出都很好,但是OMS会触发错误:“ OMS无法生成所请求的数据集或文件。以SAV格式,所有选择的表必须具有相同的列数。Estimates表中的列数与先前表(2:1)中的列数不匹配。”
这是我正在运行的语法的全部。花费大量时间搜索IBM手册并没有给出解释,因此,非常感谢您的帮助。
解决方法
问题是您的测试中有两个EMMEANS
子命令:
/EMMEANS=TABLES(OVERALL) WITH(P1Cov=MEAN)
/EMMEANS=TABLES(PathwayID) WITH(P1Cov=MEAN) COMPARE ADJ(LSD)
第一个生成GRAND MEAN的表,第二个生成由PathwayID
分析的表。这两个表的列数不同(第二个表的PathwayID
有一个额外的列),这就是阻止OMS
将它们堆叠到一个表中的原因。
假设您只需要第二个表,那么,只要删除命令中两行的第一行,“ OMS”就可以正常工作。