在 SAS 中合并来自 Proc GLM 的输出文件
Combine output files from Proc GLM in SAS
我不确定我正在尝试做的事情是否可行,所以我想我会咨询更有经验的 SAS 用户。
我想 运行 使用“by”语句多次处理 GLM,然后将每个 运行 的输出参数放入一个文件中。输出参数类似于 a、b、#points 和 R2。
这可能吗?
谢谢!!
您可以在 table(s) 中输出 proc glm
的结果。
要检索 proc glm
的输出,可以使用 ods trace statement
来跟踪 proc glm
的对象输出。有关详细信息,请考虑阅读 ODS TRACE Statement 文档。
proc glm
输出6个对象:NObs
、OverallANOVA
、FitStatistics
、ModelANOVA
、ModelANOVA
和ParameterEstimates
。
29 ods trace on;
30 proc glm data=sashelp.cars;
31 model length = mpg_city ;
32 quit;
Output Added:
-------------
Name: NObs
Label: Number of Observations
Template: STAT.GLM.NObsNotitle
Path: GLM.Data.NObs
-------------
Output Added:
-------------
Name: OverallANOVA
Label: Overall ANOVA
Template: stat.GLM.OverallANOVA
Path: GLM.ANOVA.Length.OverallANOVA
-------------
Output Added:
-------------
Name: FitStatistics
Label: Fit Statistics
Template: stat.GLM.FitStatistics
Path: GLM.ANOVA.Length.FitStatistics
-------------
Output Added:
-------------
Name: ModelANOVA
Label: Type I Model ANOVA
Template: stat.GLM.Tests
Path: GLM.ANOVA.Length.ModelANOVA
-------------
Output Added:
-------------
Name: ModelANOVA
Label: Type III Model ANOVA
Template: stat.GLM.Tests
Path: GLM.ANOVA.Length.ModelANOVA
-------------
Output Added:
-------------
Name: ParameterEstimates
Label: Solution
Template: stat.GLM.Estimates
Path: GLM.ANOVA.Length.ParameterEstimates
-------------
我推断,通过 a,b and # points
,您指向 estimate
参数,该参数可以在 ParameterEstimates
对象中找到。然而,决定系数可以在 FitStatistics
对象中找到。
假设您想要 运行 许多 proc glm
并将结果附加到一个 table 中(实际上是两个,考虑到您最终会得到一个 table用于估计,一个用于确定系数)。您可以创建一个宏,它将获取每个 proc glm
的结果并将其附加到 table.
%macro glm(y, x);
ods output ParameterEstimates=temp_parameters FitStatistics=temp_fit;
proc glm data=sashelp.cars;
model &y. = &x. ;
quit;
proc append data=temp_parameters base=parameters;run;
proc append data=temp_fit base=fit;run;
proc datasets lib=work nolist nodetails; delete temp_:;run;
%mend;
%glm(length, mpg_city);
%glm(length, cylinders);
%glm(length, weight);
创建了两个最终 table,一个填充了估计值 (parameters
table),另一个填充了确定系数 (fit
table).
parameters
table:
fit
table:
很遗憾,没有关于您的问题的更多信息和数据,我无法提供进一步帮助。
我不确定我正在尝试做的事情是否可行,所以我想我会咨询更有经验的 SAS 用户。
我想 运行 使用“by”语句多次处理 GLM,然后将每个 运行 的输出参数放入一个文件中。输出参数类似于 a、b、#points 和 R2。
这可能吗?
谢谢!!
您可以在 table(s) 中输出 proc glm
的结果。
要检索 proc glm
的输出,可以使用 ods trace statement
来跟踪 proc glm
的对象输出。有关详细信息,请考虑阅读 ODS TRACE Statement 文档。
proc glm
输出6个对象:NObs
、OverallANOVA
、FitStatistics
、ModelANOVA
、ModelANOVA
和ParameterEstimates
。
29 ods trace on;
30 proc glm data=sashelp.cars;
31 model length = mpg_city ;
32 quit;
Output Added:
-------------
Name: NObs
Label: Number of Observations
Template: STAT.GLM.NObsNotitle
Path: GLM.Data.NObs
-------------
Output Added:
-------------
Name: OverallANOVA
Label: Overall ANOVA
Template: stat.GLM.OverallANOVA
Path: GLM.ANOVA.Length.OverallANOVA
-------------
Output Added:
-------------
Name: FitStatistics
Label: Fit Statistics
Template: stat.GLM.FitStatistics
Path: GLM.ANOVA.Length.FitStatistics
-------------
Output Added:
-------------
Name: ModelANOVA
Label: Type I Model ANOVA
Template: stat.GLM.Tests
Path: GLM.ANOVA.Length.ModelANOVA
-------------
Output Added:
-------------
Name: ModelANOVA
Label: Type III Model ANOVA
Template: stat.GLM.Tests
Path: GLM.ANOVA.Length.ModelANOVA
-------------
Output Added:
-------------
Name: ParameterEstimates
Label: Solution
Template: stat.GLM.Estimates
Path: GLM.ANOVA.Length.ParameterEstimates
-------------
我推断,通过 a,b and # points
,您指向 estimate
参数,该参数可以在 ParameterEstimates
对象中找到。然而,决定系数可以在 FitStatistics
对象中找到。
假设您想要 运行 许多 proc glm
并将结果附加到一个 table 中(实际上是两个,考虑到您最终会得到一个 table用于估计,一个用于确定系数)。您可以创建一个宏,它将获取每个 proc glm
的结果并将其附加到 table.
%macro glm(y, x);
ods output ParameterEstimates=temp_parameters FitStatistics=temp_fit;
proc glm data=sashelp.cars;
model &y. = &x. ;
quit;
proc append data=temp_parameters base=parameters;run;
proc append data=temp_fit base=fit;run;
proc datasets lib=work nolist nodetails; delete temp_:;run;
%mend;
%glm(length, mpg_city);
%glm(length, cylinders);
%glm(length, weight);
创建了两个最终 table,一个填充了估计值 (parameters
table),另一个填充了确定系数 (fit
table).
parameters
table:
fit
table:
很遗憾,没有关于您的问题的更多信息和数据,我无法提供进一步帮助。