SAS ODS 过程输出数据集
2014-08-13 13:21
183 查看
学习~
* ods trace on ;
LIBNAME MATABLES BASE "\\Hqdellsas04\exports\APJ" ;
ods output Base.Datasets.Members=MATABLES.result ;
proc datasets library=MATABLES ;
quit;
ods output close ;
* ods trace off ;
----------------------------------------------------------------------------------------------
来自SESUG 2007: ODS An Introduction to Creating Output Dataset.
如何知道一个一个过程的输出对象有哪些?可以用ods trace:
ods trace on;
下面的例子通过ods trace查看means过程具有哪些输出对象。这些输出对象的信息在log窗口中显示。
data a(keep=var);
do
i=1 to 100;
var=i+int(100*rannorm(0));
output;
end;
run;
ods
trace on;
proc
means data=a;
var
var;
run;
ods
trace off;
在log窗口中显示了means过程的输出对象:
Output Added:
-------------
Name: Summary
Label: Summary
statistics
Template: base.summary
Path: Means.Summary
-------------
可以知道means过程提供了一个输出对象,名称为Summary,标签为Summary Statistics。同时,在输出窗口中点开Means:The SAS System,显示具有一个输出对象Summary Statistics,里面包含数量,均值,标准差,最大最小值的信息。
由于means过程只有一个输出对象,所以可以很确定地知道统计量肯定都在该输出对象中。如果在比较复杂的过程中,输出对象可能不止一个。当使用者需要明确知道输出对象名称,从而可以将特定输出对象指定输出到特定数据集时,使用者可能并不能确定自己感兴趣的统计量在哪个输出对象中,该对象的名称是什么。这个时候ods
trace的作用就会表现出来。看下面的例子:
data a(keep=y x1 x2);
do
i=1 to 100;
y=i+int(100*rannorm(0));
x1=.6*y+ranuni(0)-0.5;
x2=.4*y+ranuni(0)-0.5;
output;
end;
run;
ods trace on;
proc reg data=a;
model
y=x1 x2;
run;
ods trace off;
在log窗口中将显示一下输出对象被添加:
Output Added:
-------------
Name: NObs
Label: Number
of Observations
Template: Stat.Reg.NObs
Path: Reg.MODEL1.Fit.y.NObs
-------------
Output Added:
-------------
Name: ANOVA
Label: Analysis
of Variance
Template: Stat.REG.ANOVA
Path: Reg.MODEL1.Fit.y.ANOVA
-------------
Output Added:
-------------
Name: FitStatistics
Label: Fit
Statistics
Template: Stat.REG.FitStatistics
Path: Reg.MODEL1.Fit.y.FitStatistics
-------------
Output Added:
-------------
Name: ParameterEstimates
Label: Parameter
Estimates
Template: Stat.REG.ParameterEstimates
Path: Reg.MODEL1.Fit.y.ParameterEstimates
-------------
Output Added:
-------------
Name: DiagnosticsPanel
Label: Fit
Diagnostics
Template: Stat.REG.Graphics.DiagnosticsPanel
Path: Reg.MODEL1.ObswiseStats.y.DiagnosticPlots.DiagnosticsPanel
-------------
Output Added:
-------------
Name: ResidualPlot
Label: Panel
1
Template: Stat.REG.Graphics.ResidualPanel
Path: Reg.MODEL1.ObswiseStats.y.ResidualPlots.ResidualPlot
-------------
注意其中DiagnosticPanal和ResidualPlot是诊断图形。
如果通过log和results窗口交替查看比较繁琐的话,可以使用listing选项,将输出对象信息和输出对象内容全部在results窗口中显示:
ods trace on/listing;
(注意:SAS V9.3 默认输出为html格式,可能没有输出对象的信息)。
在知晓了输出对象名称之后,可以使用ods output 输出对象名称=输出数据集 的办法将制定输出对象中的统计量输出到指定的输出数据集。
ods output ParameterEstimates=estim;
proc reg data=a;
model
y=x1 x2;
model
y=x2;
run;
quit;
ods output close;
(注意,如果忘记在reg过程结尾加quit语句,那么输出数据集将不会产生,并且log中出现警告信息,表示输出对象的名称或路径没有设定正确)。
输出对象estim的内容为:
另外,在ods output中,输出对象名称ParameterEstimates可以用输出对象路径代替:
ods output Reg.MODEL1.Fit.y.ParameterEstimates=estim;
* ods trace on ;
LIBNAME MATABLES BASE "\\Hqdellsas04\exports\APJ" ;
ods output Base.Datasets.Members=MATABLES.result ;
proc datasets library=MATABLES ;
quit;
ods output close ;
* ods trace off ;
----------------------------------------------------------------------------------------------
来自SESUG 2007: ODS An Introduction to Creating Output Dataset.
如何知道一个一个过程的输出对象有哪些?可以用ods trace:
ods trace on;
下面的例子通过ods trace查看means过程具有哪些输出对象。这些输出对象的信息在log窗口中显示。
data a(keep=var);
do
i=1 to 100;
var=i+int(100*rannorm(0));
output;
end;
run;
ods
trace on;
proc
means data=a;
var
var;
run;
ods
trace off;
在log窗口中显示了means过程的输出对象:
Output Added:
-------------
Name: Summary
Label: Summary
statistics
Template: base.summary
Path: Means.Summary
-------------
可以知道means过程提供了一个输出对象,名称为Summary,标签为Summary Statistics。同时,在输出窗口中点开Means:The SAS System,显示具有一个输出对象Summary Statistics,里面包含数量,均值,标准差,最大最小值的信息。
由于means过程只有一个输出对象,所以可以很确定地知道统计量肯定都在该输出对象中。如果在比较复杂的过程中,输出对象可能不止一个。当使用者需要明确知道输出对象名称,从而可以将特定输出对象指定输出到特定数据集时,使用者可能并不能确定自己感兴趣的统计量在哪个输出对象中,该对象的名称是什么。这个时候ods
trace的作用就会表现出来。看下面的例子:
data a(keep=y x1 x2);
do
i=1 to 100;
y=i+int(100*rannorm(0));
x1=.6*y+ranuni(0)-0.5;
x2=.4*y+ranuni(0)-0.5;
output;
end;
run;
ods trace on;
proc reg data=a;
model
y=x1 x2;
run;
ods trace off;
在log窗口中将显示一下输出对象被添加:
Output Added:
-------------
Name: NObs
Label: Number
of Observations
Template: Stat.Reg.NObs
Path: Reg.MODEL1.Fit.y.NObs
-------------
Output Added:
-------------
Name: ANOVA
Label: Analysis
of Variance
Template: Stat.REG.ANOVA
Path: Reg.MODEL1.Fit.y.ANOVA
-------------
Output Added:
-------------
Name: FitStatistics
Label: Fit
Statistics
Template: Stat.REG.FitStatistics
Path: Reg.MODEL1.Fit.y.FitStatistics
-------------
Output Added:
-------------
Name: ParameterEstimates
Label: Parameter
Estimates
Template: Stat.REG.ParameterEstimates
Path: Reg.MODEL1.Fit.y.ParameterEstimates
-------------
Output Added:
-------------
Name: DiagnosticsPanel
Label: Fit
Diagnostics
Template: Stat.REG.Graphics.DiagnosticsPanel
Path: Reg.MODEL1.ObswiseStats.y.DiagnosticPlots.DiagnosticsPanel
-------------
Output Added:
-------------
Name: ResidualPlot
Label: Panel
1
Template: Stat.REG.Graphics.ResidualPanel
Path: Reg.MODEL1.ObswiseStats.y.ResidualPlots.ResidualPlot
-------------
注意其中DiagnosticPanal和ResidualPlot是诊断图形。
如果通过log和results窗口交替查看比较繁琐的话,可以使用listing选项,将输出对象信息和输出对象内容全部在results窗口中显示:
ods trace on/listing;
(注意:SAS V9.3 默认输出为html格式,可能没有输出对象的信息)。
在知晓了输出对象名称之后,可以使用ods output 输出对象名称=输出数据集 的办法将制定输出对象中的统计量输出到指定的输出数据集。
ods output ParameterEstimates=estim;
proc reg data=a;
model
y=x1 x2;
model
y=x2;
run;
quit;
ods output close;
(注意,如果忘记在reg过程结尾加quit语句,那么输出数据集将不会产生,并且log中出现警告信息,表示输出对象的名称或路径没有设定正确)。
输出对象estim的内容为:
另外,在ods output中,输出对象名称ParameterEstimates可以用输出对象路径代替:
ods output Reg.MODEL1.Fit.y.ParameterEstimates=estim;
相关文章推荐
- SAS ODS 过程输出图形
- C#调用Oracle带输出数据集的存储过程
- java应用中如何捕抓SAS存储过程输出的流信息
- C#调用Oracle带输出数据集的存储过程
- sas数据集或报表输出excel
- SAS:ODS输出目标、输出对象
- 使用SAS存储过程直接输出excel文件最简单的方法
- 如何用sas的proc sql过程求数据集的关联率
- sas过程步数据集管理 append过程
- sas,log,output,ods输出管理(html output_object output_statement)
- sas高级编程(3)format过程,管理format、永久使用format给指定variable、控制format搜索顺序、fmterr、利用数据集创建format,由format创建数据集、制表过程
- 如何通过SAS ODS输出到excel的多个worksheet里
- 存储过程数据集输出参数类型为非游标
- C#获取存储过程的 Return返回值和Output输出参数值
- SAS常用过程
- 只使用处理I/O的PrintDigit函数,编写一个过程以输出任意实数
- 在存储过程中输入输出游标
- EF 中调用带输出参数的存储过程
- 创建带输出参数的存储过程
- C#获取存储过程的Return返回值和Output输出参数值