数学建模社区-数学中国

标题: ODS trace与output的配合使用 [打印本页]

作者: 三省    时间: 2014-7-2 16:27
标题: ODS trace与output的配合使用
本帖最后由 三省 于 2014-7-2 16:53 编辑
5 ^6 t* `& Q/ W
; q4 N6 b7 i2 @+ G3 Y( o     TRACE的功能室查询输出管道的对象。实际应用中,编程人员绝对不会刻意记住每一个过程步的所有输出对象名称,通过TRACE就可以很容易获取所需要的输出对象的名称。
' Z) @0 v: h2 |, A- J6 R1 r5 P5 a( N/ h5 e8 x% A2 O
   OUTPUT的主要功能是将OUTPUT窗口的输出对象转换成SAS数据集。比如,UNIVARIATE过程步可以产生很多输出对象,如果想要将其中的基本部分(如极值观测、分位数等),输出成为SAS数据集,就需要用到OUTPUT输出管道。
1 Y3 A6 [0 J1 {! \
- U& H0 \4 s# E" `! Q4 [1. ODS TRACE4 `" q9 R  G6 K8 K3 t! u* f- P3 B
例如运行如下代码:* C& d. m* h& |- {! y
- g2 t# p+ L4 V2 m! k$ ~3 F: L
ods trace on listing; /*listing:输出对象记录(即名称、标签等)到OUTPUT窗口*/
, r+ c0 w  ]- R; a3 w* a6 c* \. Uproc univariate data=sashelp.class;7 T: r, {; n5 l) w
var age;
& I: N; T7 B1 E- qrun;
6 t9 W! {0 m1 {" `' r! ~0 Uods trace off;
5 N/ g1 R3 Q) y+ Q. G5 n2 Z出现如下结果:
& n7 s% i( [% g4 d. x' u. t+ t; T8 P5 {3 m/ I: l  a! w8 I- R
下面是univariate过程的所有输出对象,即有如下的五个估计部分:. |3 v* j, u3 j
QQ截图20130702163311.png
. `# x1 u7 F: u; d
' E9 U7 [: W8 m2 t! E' M8 h         QQ截图20130702162757.png
% S) A  A1 ?" ?& S) G! w7 t1 H. l: t

; W- o8 u+ U. q$ U; P8 E5 x其中红框部分的ExtremeObs(极值观测)、Quantiles(分位数)常常用于数值型变量的数据清洗工作。  
0 D. a) w3 P# _# b- W , X0 V8 S. f  [/ m, l  l3 }: K6 Z
; n3 X; I% @8 z5 Z
2. ODS OUTPUT
/ I1 b, @1 H5 D: f8 U9 {  Z% D
假设研究人员关心的是基本测度、 ExtremeObs、Quantiles这三个部分的估计结果,那么就需要OUTPUT将基本测度、ExtremeObs与Quantiles三个对象输出为SAS数据集:# R0 U6 u" V7 P

5 p- I4 E( T7 Tods listing close;
. D9 O" U" d" nods results off;
: D4 v  O' ^3 w& T7 xods output
/ T  e' ~/ k1 a( c basicmeasures=basic
. m' a# ~: t9 t2 J' w3 O, v+ {# ~ extremeobs=extremes+ l+ ?6 d9 ?5 ~' A
quantiles=quantiles- M( j/ w5 Z; n: E
;
# m. b! Y! `8 H' D$ [: K, Rproc univariate data=sashelp.class;- _3 D* y6 Q, x0 u
class sex;7 c0 P: E" I3 |/ m7 ?4 ^" s. y
var weight height;' O7 p% Z  s+ M
run;" a2 s* e+ X1 O4 @
ods output close;! C; S- z, [, B
ods results on;2 x. H) \4 C& Z( |" M) F8 {( ]" W
ods listing;
; X/ X' i6 r, X: _+ ~* X. ?) [8 r1 V
输出basic基本测量:6 A/ n* c4 z; u; l8 }, p
proc print data=basic;run;
0 M8 c0 a0 F- X% p( @ QQ截图20130702165111.png   \, i1 J% U4 X" M0 @  C- C

6 x! A9 w: _, N' i! G输出extremes极值观测:
3 `3 t$ `: V: V+ p; Bproc print data=extremes;run;" _! f; _' |$ o+ K  X* L7 {# J
QQ截图20130702165128.png
" Y; {+ j- v/ y% ?! d( `# H$ L4 T
输出分位数" w+ B. w& A5 k3 M# ?' p: S
proc print data=quantiles;run;- v- l+ Z" x- K! r- z, A+ q
QQ截图20130702165226.png ' W; p% u1 X$ o1 K! F; N/ h
0 G' f! @# k+ h. i

3 G- a, S2 ~' L根据上面的单变量分析的结果,可以帮助我们进行数据清洗的工作。 % c) y. G, l' A0 E2 J" H
( g; R. z: R5 E
& `  e3 [* ?) {- Y
; p4 [( \) U+ G

( d' S) q+ W" h& b2 s




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5