Python 在SPSS中运行AREG命令而不覆盖以前的输出
我正在尝试使用SPSS中的AREG命令一次对多个主题运行Cochrane Orcutt转换。我的数据文件包含大约80名参与者(名为“V1、V2、V3、…、V80”)和一个名为“time”的时间变量(以秒为单位)。我在参与者#1上运行AREG命令的语法目前如下所示: /AREG Var1随时间变化 /方法=CO /ρ=.9 该语法的输出为我提供了所需的新“Fit”变量(以及一些我不需要的其他变量)。当我尝试运行参与者#2时,我的问题出现了: /AREG V2随时间变化 /方法=CO /ρ=.9 运行第二组语法将删除Subject 1的第一个“Fit”变量,并将其替换为Subject 2的新“Fit”变量。我想为参与者#1和参与者#2保留第一个“Fit”变量(而不是每次都覆盖输出)。是否有方法在SPSS中使用宏/循环/等一次性运行参与者#1-80,并为每个主题提供唯一的“Fit”变量?我试图避免在运行下一个数据集之前,为我运行的每个新参与者复制和粘贴每个新的“Fit”变量(我总共有大约100个数据集,每个数据集约有80个参与者,所以这需要几天)。也许有一种更简单的方法可以用Python实现它Python 在SPSS中运行AREG命令而不覆盖以前的输出,python,statistics,spss,Python,Statistics,Spss,我正在尝试使用SPSS中的AREG命令一次对多个主题运行Cochrane Orcutt转换。我的数据文件包含大约80名参与者(名为“V1、V2、V3、…、V80”)和一个名为“time”的时间变量(以秒为单位)。我在参与者#1上运行AREG命令的语法目前如下所示: /AREG Var1随时间变化 /方法=CO /ρ=.9 该语法的输出为我提供了所需的新“Fit”变量(以及一些我不需要的其他变量)。当我尝试运行参与者#2时,我的问题出现了: /AREG V2随时间变化 /方法=CO /ρ=.9 运
非常感谢您的帮助和时间 帮助说明您可以使用
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_1
,FIT_2
,等等。一种不必写入(或使宏循环)70个变量的方法是使用VARSTOCASES
重塑数据,然后使用分割文件
*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
上的顺序变量,例如,您可以使用VARSTOCASES/MAKE Y从Y1到Y70。
只要它们在原始文件中按顺序排列。)帮助说明您可以使用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_1
,FIT_2
,等等。一种不必写入(或使宏循环)70个变量的方法是使用VARSTOCASES
重塑数据,然后使用分割文件
*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
上指定顺序变量,例如,您可以使用VARSTOCASES/MAKE Y从Y1到Y70。
只要它们在原始文件中按顺序排列。)非常感谢您的时间和帮助Andy W!我不太确定如何解决像这样的特定SPSS问题,但你一针见血。继续你的宝贵工作,我们都很感激:)非常感谢你的时间和帮助安迪W!我不太确定如何解决像这样的特定SPSS问题,但你一针见血。继续你的宝贵工作,我们都很感激:)