数学建模社区-数学中国
标题:
ODS trace与output的配合使用
[打印本页]
作者:
三省
时间:
2014-7-2 16:27
标题:
ODS trace与output的配合使用
本帖最后由 三省 于 2014-7-2 16:53 编辑
1 t: L. T8 V4 v F. D' R
2 w0 J& k; p" y1 n9 V# Q
TRACE的功能室查询输出管道的对象。实际应用中,编程人员绝对不会刻意记住每一个过程步的所有输出对象名称,通过TRACE就可以很容易获取所需要的输出对象的名称。
& t' h8 u! s8 `4 E+ [4 o& b
# m6 i1 |+ } ~1 T% f4 O- D- V0 y1 X
OUTPUT的主要功能是将OUTPUT窗口的输出对象转换成SAS数据集。比如,UNIVARIATE过程步可以产生很多输出对象,如果想要将其中的基本部分(如极值观测、分位数等),输出成为SAS数据集,就需要用到OUTPUT输出管道。
. D" o n# N j1 w$ f5 Z
& Q" ^" K( Q0 J- \$ L5 T
1. ODS TRACE
& S& W3 Z) c# o, i6 H, @; ~1 a0 @/ I
例如运行如下代码:
( J2 o; G9 ^: z( t& r
C j# v9 @# V: o+ ^5 {
ods trace on listing; /*listing:输出对象记录(即名称、标签等)到OUTPUT窗口*/
: O6 s, V1 }' x3 _, Z: I$ j
proc univariate data=sashelp.class;
) U1 K! n/ P7 s
var age;
$ T/ A+ X4 G* b1 B: x: X" j/ q0 I( u
run;
! w8 }* V# i3 f# i- o
ods trace off;
& x* D: B5 P) Y" X/ j5 ^
出现如下结果:
' \8 q! t/ u3 Q9 Y
, R9 B) ]6 o k$ d6 ]: F
下面是univariate过程的所有输出对象,即有如下的五个估计部分:
. r$ ?2 m5 t- F1 q1 o
2014-7-2 16:32 上传
下载附件
(12.97 KB)
8 o# K S ]) H1 {1 R( q
1 c. m a0 E* x( I
2014-7-2 16:28 上传
下载附件
(13.14 KB)
, _% K- Y: D5 P: R
7 H6 o0 P; X( z+ H' ?" x! ?
H( t& V3 Y9 A- i) n* i' Q
其中红框部分的ExtremeObs(极值观测)、Quantiles(分位数)常常用于数值型变量的数据清洗工作。
9 `& `: }$ M" W. h4 ~
4 t# B) @; _6 G* W5 s8 T7 E
8 E( k" `: }4 ~" F( l
2. ODS OUTPUT
6 T+ {1 s! O @5 ]# s; l
, Q! v- f" M; m, Q5 ?
假设研究人员关心的是基本测度、 ExtremeObs、Quantiles这三个部分的估计结果,那么就需要OUTPUT将基本测度、ExtremeObs与Quantiles三个对象输出为SAS数据集:
( s3 Z1 W2 \' [' ^# G; `0 q
* i3 T5 i- d$ M8 v, Z
ods listing close;
6 Y8 Q, C: g0 O z
ods results off;
0 T. \' @( v- T$ L1 y0 U
ods output
) B: {0 \- }3 K$ r2 G0 s
basicmeasures=basic
) x4 e" E' n0 H' K' j1 k* K
extremeobs=extremes
, ]! v( O: O! O- C) C4 J0 O
quantiles=quantiles
& M+ Q _' D5 p
;
1 u7 c; O& G- ~$ {9 e" z) i$ y% _' \
proc univariate data=sashelp.class;
* M+ ~- x N' Y1 J( I
class sex;
( O6 [. ?+ E5 W5 s/ P
var weight height;
% r! J* Y! C, _, A7 s
run;
6 n3 ]! j+ E- m! e2 B; d* Z
ods output close;
( E; ]0 h! N9 F$ D' Y+ z
ods results on;
. |! D# `; P e
ods listing;
9 B9 h0 I& P5 f
! r# Y$ x) c* c* A G2 [" l# Y
输出basic基本测量:
3 r2 I3 D8 i B2 L, b
proc print data=basic;run;
$ f, P- q" Q5 Y; l( x
2014-7-2 16:52 上传
下载附件
(17.86 KB)
) Y% X$ x$ S7 d! @
) h$ {$ u6 r/ }& r! _5 J' u, C
输出extremes极值观测:
+ ?: }9 b1 b. G9 l
proc print data=extremes;run;
3 a& i6 E9 d5 \, }
2014-7-2 16:52 上传
下载附件
(15.35 KB)
8 r- ~% U X9 U' R% x
- R" M. r0 Z6 G0 U) U
输出分位数
$ J! B( a1 P% N( a0 f% W
proc print data=quantiles;run;
: d2 C: m# ?* {( s; `& `, {
2014-7-2 16:52 上传
下载附件
(45.41 KB)
( K( w1 j7 J% l! Q9 e
1 h8 N$ _+ b5 v! O
9 x/ x! z; D$ U! m
根据上面的单变量分析的结果,可以帮助我们进行数据清洗的工作。
% a$ ^% [# v! J& p9 _7 F
* l0 J" x9 s' T4 I; K1 ?7 ]
0 X: r9 s- c, a
, p8 o3 ]( {' E+ L4 b, G4 Q
6 i1 T% I5 F) Q9 O# _$ N* x
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5