数学建模社区-数学中国
标题:
ODS trace与output的配合使用
[打印本页]
作者:
三省
时间:
2014-7-2 16:27
标题:
ODS trace与output的配合使用
本帖最后由 三省 于 2014-7-2 16:53 编辑
3 R* D: }* g! V# W
8 m" Y$ z* U$ ^, `$ O; @
TRACE的功能室查询输出管道的对象。实际应用中,编程人员绝对不会刻意记住每一个过程步的所有输出对象名称,通过TRACE就可以很容易获取所需要的输出对象的名称。
( o. L4 P2 K, q3 n3 o
% _. B% h# P% X4 @. @3 _1 f5 T
OUTPUT的主要功能是将OUTPUT窗口的输出对象转换成SAS数据集。比如,UNIVARIATE过程步可以产生很多输出对象,如果想要将其中的基本部分(如极值观测、分位数等),输出成为SAS数据集,就需要用到OUTPUT输出管道。
1 [8 ^3 u1 G3 l, S4 L6 f. W0 a7 T, r
+ p1 S9 Z- t* X+ c
1. ODS TRACE
8 v1 v4 O) I- a0 g
例如运行如下代码:
2 y' |$ A% S9 ~4 y
/ I! n6 j1 F3 @" @ l
ods trace on listing; /*listing:输出对象记录(即名称、标签等)到OUTPUT窗口*/
5 a% c) Q0 U2 B8 f' G1 h4 g1 g7 D
proc univariate data=sashelp.class;
) q |* \# g& @" q& K$ `
var age;
; B" {* m3 H$ n: i
run;
* C( q2 i! r9 g: ^! g* N$ z. ~+ o
ods trace off;
- f1 l) Z+ F. a Q }
出现如下结果:
4 d( d9 G4 H! H4 D9 n1 z
7 Y: N' a% q/ }7 X7 E2 R
下面是univariate过程的所有输出对象,即有如下的五个估计部分:
) n# ~) I: |9 j
2014-7-2 16:32 上传
下载附件
(12.97 KB)
( ^8 o; [# Z$ v" A3 e3 V
) R3 m" r/ P% n+ Y1 K. u9 u
2014-7-2 16:28 上传
下载附件
(13.14 KB)
3 _; V4 G1 f" {
" B9 [# K- u; o$ T
6 M) |+ q/ f; `
其中红框部分的ExtremeObs(极值观测)、Quantiles(分位数)常常用于数值型变量的数据清洗工作。
. t9 S6 ?9 x) C, l" D% L, K% L% K( m
2 _% E4 z+ T, A5 m: G3 l+ `
2 w8 z! [5 s: f5 U% P4 A2 x
2. ODS OUTPUT
( ] ~+ ]1 z& |% k: n
: b9 S) ~& A0 s1 d
假设研究人员关心的是基本测度、 ExtremeObs、Quantiles这三个部分的估计结果,那么就需要OUTPUT将基本测度、ExtremeObs与Quantiles三个对象输出为SAS数据集:
6 z$ `# t& F1 H* u5 p
A! \( S* l2 n4 u5 D
ods listing close;
' W! T; t# T' i/ w* Y, @
ods results off;
e% b% Z# C) O: I) V9 Y
ods output
8 d6 x1 _9 E( c5 @
basicmeasures=basic
1 {: T" H7 h5 Y" E7 Z
extremeobs=extremes
0 D& }; W0 o# s" F' b6 J
quantiles=quantiles
x* @4 L0 p3 z A0 k& |* v$ o V$ V
;
+ J7 G. E: n4 V; N9 c
proc univariate data=sashelp.class;
( ^# v7 k t g8 R( G P1 S
class sex;
; F3 m3 D/ a! r
var weight height;
( ?" X: h4 f$ [; t! U, l; h
run;
: O$ a7 p/ v0 Z! Y. n5 T
ods output close;
" {: M3 j- ]4 I
ods results on;
6 }2 ^' \% u! Y* X' S& q5 g. ^2 R
ods listing;
4 {5 _3 \# E9 ~
1 Z- N$ J l) I& F& K! L7 m/ A* H
输出basic基本测量:
5 W, C5 m1 l; ~8 E, e( S4 E
proc print data=basic;run;
5 N: F' n' l( r7 h5 j
2014-7-2 16:52 上传
下载附件
(17.86 KB)
( a+ f, X& L' s# y- {
: D' o5 I6 Q0 w# K0 v, P) y
输出extremes极值观测:
# G* W) d1 i, h2 q
proc print data=extremes;run;
4 f# N& l t) a& O+ ^
2014-7-2 16:52 上传
下载附件
(15.35 KB)
, l3 ]" i* M# w& k5 b/ I1 c/ \
+ H* B3 |, k& \& S$ m" Y3 d, o9 g
输出分位数
: q! U m8 b- w. [' W8 X) z
proc print data=quantiles;run;
$ Y5 ]7 F0 A0 m7 G8 t" i: y) O. @
2014-7-2 16:52 上传
下载附件
(45.41 KB)
) ?) |5 E; _5 \7 s' D4 L' S2 m2 x
$ Q- n0 t, f1 Y( W) p3 @% F
, L2 @8 p. d& S6 P0 d" R, H2 m
根据上面的单变量分析的结果,可以帮助我们进行数据清洗的工作。
; E% E+ k* k; P- r
K+ K8 ] y0 Y; H8 U) I
3 c& K7 p e6 t, e4 X7 a
; f& Y3 [8 v7 k* v
) G0 l; b. v0 j8 t: V
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5