为什么PROC UNIVARIATE NOPRINT PLOTS不显示输出?

Ric*_*ano 3 sas

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

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
;
Run Code Online (Sandbox Code Playgroud)

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

proc univariate noprint;
var SBP DBP;
Run Code Online (Sandbox Code Playgroud)

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

proc univariate plots;
    var SBP DBP;
Run Code Online (Sandbox Code Playgroud)

显然,指定两者也不起作用.

proc univariate plots noprint;
    var SBP DBP;
Run Code Online (Sandbox Code Playgroud)

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

更新:我将建议的代码编写到我的完整代码示例中,并且仍然显示表格和图表.这是完整的代码示例,在与前一代码不同的机器上的新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;
Run Code Online (Sandbox Code Playgroud)

vas*_*sja 6

从版本8开始,当输出传送系统(ODS)被添加到SAS时,我非常喜欢它.

  1. 使用ods trace on;+原始代码(proc univariate ... here)来确定(来自LOG)它产生的输出(在结果树中也可见).
  2. 然后ods select ...;用来让你选择.
  3. 使用ods select all;重置回.
ods trace on;
ods select Plots;
proc univariate plots;
var SBP DBP;
run;
ods trace off;
Run Code Online (Sandbox Code Playgroud)

消耗臭氧层物质远不止于此,当然值得研究 - 搜索消耗臭氧层物质用户指南.

  • 您需要为早期的PROC MEANS添加RUN语句,以使其按预期运行.好的做法是始终通过运行或退出终止程序(和数据步骤),而不仅仅是等待下一个边界自然发生 - 或者你得到这样的东西. (2认同)