3

我有一个简单的数据集,我想使用茎叶图/箱线图进行分析,但我只想要文本图,而不是输出表。这是数据步骤:

DATA CLINIC;
   INPUT ID     $ 1-3
         GENDER $   4
         RACE   $   5
         HR       6-8
         SBP      9-11
         DBP     12-14
         N_PROC  15-16;
   AVE_BP = DBP + (SBP - DBP)/3;
DATALINES;
001MW08013008010
002FW08811007205
003MB05018810002
004FB   10806801
005MW06812208204
006FB101   07404
007FW07810406603
008MW04811207006
009FB07719011009
010FB06616410610
;

我正在使用proc univariate,但我想只抑制表格的输出,而不是图本身。使用该noprint语句,所有输出都被抑制:

proc univariate noprint;
var SBP DBP;

仅使用该plots选项,不会抑制任何输出,因此会显示绘图和表格。

proc univariate plots;
    var SBP DBP;

显然,同时指定两者也不起作用。

proc univariate plots noprint;
    var SBP DBP;

有没有办法只压制表格,而不是地块本身?

更新:我将建议的代码放入我的完整代码示例中,表格和图表仍然显示。这是完整的代码示例,在与之前代码不同的机器上运行新的 SAS 会话(两台机器都使用 SAS 9.3)。

PROC DATASETS LIBRARY=WORK;
DELETE clinic;

DATA clinic;
INPUT @1 ID $ 3. @4 GENDER $ 1. @5 RACE $ 1.
      @6 HR 3. @9 SBP 3. @12 DBP 3. @15 N_PROC 2.;

AVE_BP = DBP + (SBP - DBP) / 3;

DATALINES;
001MW08013008010
002FW08811007205
003MB05018810002
004FB   10806801
005MW06812208204
006FB101   07404
007FW07810406603
008MW04811207006
009FB07719011009
010FB06616410610
;

PROC MEANS DATA=clinic N MEAN STD CLM MEDIAN;
TITLE "Means";
VAR SBP DBP AVE_BP;

ODS TRACE ON;
ODS SELECT Plots;
PROC UNIVARIATE DATA=clinic PLOTS;
TITLE "Plots";
VAR SBP DBP;
RUN;
ODS TRACE OFF;
ODS SELECT ALL;
4

1 回答 1

6

从版本 8 开始,当输出交付系统 (ODS) 被添加到 SAS 时,我就非常喜欢它。

  1. 使用ods trace on;+ 原始代码(proc 单变量...此处)来确定(从 LOG)它产生什么输出(在结果树中也可见)。
  2. 然后使用ods select ...;来让你选择。
  3. 用于ods select all;重置。
ods trace on;
ods select Plots;
proc univariate plots;
var SBP DBP;
run;
ods trace off;

ODS 远不止于此,当然值得研究 - 搜索 ODS 用户指南。

于 2012-09-18T20:58:26.427 回答