是否可以使用面板数据对 SAS 进行配对 t 检验?
Is it possible to do a paired t-test is SAS using panel data?
我正在使用看起来像这样的面板数据:
我将在 SAS 9.4 中执行 t 检验,以确定 var1 从 2014 年到 2016 年是否有显着变化,我假设我必须使用配对 t 检验,因为我每个人 (ID) 在 2014 年和 2016 年都有几次观察。
我的问题是,当我使用像我展示的那样的面板数据时,这可以在 SAS 中完成吗?或者我是否需要创建一个宽数据集,其中一个变量包含 2014 年的数据,一个变量包含 2016 年的数据?我知道我必须在 STATA 中执行此操作,但也许我不必更改整个数据集即可在 SAS 中执行此操作?
您必须将数据转置为配对 t 检验。不过,您可以使用 PROC TRANSPOSE。
*sort for transpose;
proc sort data=have; by id year; run;
*reformat from long to wide;
proc transpose data=have out=want prefix=Year_;
by ID;
ID Year;
Var Var1;
run;
*Paired T-Test;
proc ttest data=want;
paired Year_2014*Year_2016;
run;
PS。将来请将您的数据作为文本而不是图像包含在内。我们不能从图像中写出代码,我也没有输入你的数据,所以目前这是未经测试的,但应该可以。
我正在使用看起来像这样的面板数据:
我将在 SAS 9.4 中执行 t 检验,以确定 var1 从 2014 年到 2016 年是否有显着变化,我假设我必须使用配对 t 检验,因为我每个人 (ID) 在 2014 年和 2016 年都有几次观察。
我的问题是,当我使用像我展示的那样的面板数据时,这可以在 SAS 中完成吗?或者我是否需要创建一个宽数据集,其中一个变量包含 2014 年的数据,一个变量包含 2016 年的数据?我知道我必须在 STATA 中执行此操作,但也许我不必更改整个数据集即可在 SAS 中执行此操作?
您必须将数据转置为配对 t 检验。不过,您可以使用 PROC TRANSPOSE。
*sort for transpose;
proc sort data=have; by id year; run;
*reformat from long to wide;
proc transpose data=have out=want prefix=Year_;
by ID;
ID Year;
Var Var1;
run;
*Paired T-Test;
proc ttest data=want;
paired Year_2014*Year_2016;
run;
PS。将来请将您的数据作为文本而不是图像包含在内。我们不能从图像中写出代码,我也没有输入你的数据,所以目前这是未经测试的,但应该可以。