转置PROC UNIVARIATE的输出:TestsForLocation

时间:2013-11-22 15:21:49

标签: sas

我想将以下调用的结果格式化为PROC UNIVARIATE(TestForLocation)。

proc sort data=sashelp.class; by sex; run;
proc univariate data = sashelp.class mu0 = 1;
  ods select TestsForLocation;
  var age;
  by sex;
  ods output TestsForLocation=ttest;
run;
data ttest; set ttest; keep sex test stat pvalue;run;
proc print data=ttest;run;

enter image description here

如何将输出转换为具有以下列的数据集?

Obs, Sex, StudentsT_Stat, StudentsT_pValue, SignedRank_Stat, SignedRank_Pvalue

1 个答案:

答案 0 :(得分:1)

你需要在这里进行双重转置。制作包含12个观察值的数据集,其中包含四列:ObsSexID是Test和(Stat | pValue)的组合,您希望将其作为最终变量名称,{ {1}}是您想要转换为变量的值。然后,

Value

proc transpose data=ttest_double out=ttest_transposed; by obs sex; id ID; var Value; run; ID可以是您喜欢的任何变量名称。)