在SPSS中运行AREG命令而不覆盖先前的输出

时间:2016-02-18 00:36:51

标签: python statistics spss

我试图在SPSS中使用AREG命令一次对多个受试者进行Cochrane-Orcutt转换。我的数据文件包含大约80个参与者(命名为" V1,V2,V3,...,V80和#34;),以及一个名为" Time"的时间变量。 (很快)。我在#1参与者上运行AREG命令的语法如下所示:

/ AREG Var1 with Time

/方法= CO

/RHO=.9。

这种语法的输出给了我想要的,新的," Fit"变量(以及我不需要的其他几个变量)。当我尝试运行参与者#2时,我的问题出现了:

/ AREG V2 with Time

/方法= CO

/RHO=.9。

运行第二组语法会删除第一组" Fit"主题1的变量,并将其替换为新的" Fit"主题2的变量。我想保留第一个" Fit"参与者#1和参与者#2的变量(没有它每次都覆盖输出)有没有办法使用宏/循环/等。在SPSS中,一次运行参与者#1-80并拥有一个独特的" Fit"每个科目的变量?我试图避免复制和粘贴每个新的" Fit"我运行下一个参与者之前运行的每个新参与者的变量(我总共有大约100个数据集,每个参与者大约有80个,所以这需要几天)。也许使用Python有一种更简单的方法吗?

非常感谢你的帮助和时间!

1 个答案:

答案 0 :(得分:0)

帮助说你可以使用TSET NEWVARS=ALL每次都写入新的变量。

DATA LIST FREE / Ord X Y1 Y2.
BEGIN DATA
1 1 2 2.5
2 2 3.5 3.0
3 4 6.2 5.4
4 1 3.0 2.7
5 6 9 9
6 10 3 4
7 11 15 6
8 14 12 13
END DATA.

*Creates new variables.
TSET NEWVAR=ALL.
AREG Y1 WITH X.
AREG Y2 WITH X.

所以这会产生FIT_1FIT_2等。不过要编写(或使宏循环)70个变量的方法是使用{{1}重构数据然后使用VARSTOCASES

SPLIT FILE

您可以看到,这会产生对拟合值的等效估计。 (请注意,在您的用例中,您可以使用*Reshape wide to long. ADD FILES FILE = * /DROP ERR_1 TO SEP_1 ERR_2 TO SEP_2. VARSTOCASES /MAKE Y FROM Y1 Y2 /MAKE FitOrig FROM FIT_1 FIT_2 /INDEX YOrig (Y). SORT CASES BY YOrig Ord. SPLIT FILE BY YOrig. AREG Y WITH X. SPLIT FILE OFF. TO上指定顺序变量,例如,只要在原始文件中按顺序排序,就可以使用VARSTOCASES。)