【问题标题】:Add a total count at end of proc tabulate在 proc 表的末尾添加一个总数
【发布时间】:2018-10-25 17:13:43
【问题描述】:

我有一个带有行百分比的Proc Tabulate 输出,我想要每个汇总变量的所有受访者的总数。我得到的最接近的是它在count 的每个变量下方添加了一行,但我真的只需要在末尾添加一个代表total count 的列。

PROC TABULATE DATA = CHSS2017 f=10.2 S=[foreground=black just=c cellwidth=75]; 
CLASS EDUC
      AREA
      AGE 
      SEX 
      CENRACE 
      POVERTY 
      EDUC 
      INSURE 
      HEALTH
      Q21;

CLASSLEV EDUC     / style=[font_weight=medium background=colfmt.];
CLASSLEV AREA     / style=[font_weight=medium background=colfmt.];
CLASSLEV AGE      / style=[font_weight=medium background=colfmt.];
CLASSLEV SEX      / style=[font_weight=medium background=colfmt.];
CLASSLEV CENRACE  / style=[font_weight=medium background=colfmt.];
CLASSLEV POVERTY  / style=[font_weight=medium background=colfmt.];
CLASSLEV INSURE   / style=[font_weight=medium background=colfmt.];
CLASSLEV HEALTH   / style=[font_weight=medium background=colfmt.]; 
CLASSLEV Q21;

TABLE AREA    = 'Area in Region' * (ROWPCTN='   '*f=PCTF.)
      AGE     = 'Age'            * (ROWPCTN='   '*f=PCTF.)
      SEX                        * (ROWPCTN='   '*f=PCTF.)
      CENRACE = 'Race'           * (ROWPCTN='   '*f=PCTF.)
      POVERTY = 'Poverty Status' * (ROWPCTN='   '*f=PCTF.)
      EDUC                       * (ROWPCTN='   '*f=PCTF.)
      INSURE                     * (ROWPCTN='   '*f=PCTF.) 
      HEALTH                     * (ROWPCTN='   '*f=PCTF.), Q21 = ' ' ALL*f=8;
RUN;

我一直在尝试将“*n”或“*all”添加到摘要变量(面积、性别、年龄)中,但只会出错。我想要的输出应该看起来像图像,除了“计数”列是总和不是 100 或 100%

Full table picture

data WORK.CLASS(label='Survey Data');
   infile datalines dsd truncover;
   input age:3. sex:3. cenrace:3. q21:3. regionwt:16.;
 datalines;
5 4 2 2 0.1214634338
5 3 2 2 1.1946976229
7 4 2 2 0.6734857715
7 4 2 2 2.5191297921
5 3 2 1 0.2390983852
 ;;;;

【问题讨论】:

  • 没有数据很难说,但我希望 ALL 可以工作,具体取决于您想要的所有位置,这从您的图片中不清楚。
  • 如何添加样本数据?
  • 编辑您的问题并发布为代码片段,按照此处的说明获取数据步骤代码:communities.sas.com/t5/SAS-Communities-Library/…

标签: sas frequency proc


【解决方案1】:

没有数据很难回答,但试试这个:

TABLE AREA    = 'Area in Region' * (ROWPCTN='   '*f=PCTF.)
      AGE     = 'Age'            * (ROWPCTN='   '*f=PCTF.)
      SEX                        * (ROWPCTN='   '*f=PCTF.)
      CENRACE = 'Race'           * (ROWPCTN='   '*f=PCTF.)
      POVERTY = 'Poverty Status' * (ROWPCTN='   '*f=PCTF.)
      EDUC                       * (ROWPCTN='   '*f=PCTF.)
      INSURE                     * (ROWPCTN='   '*f=PCTF.) 
      HEALTH                     * (ROWPCTN='   '*f=PCTF.)
      ALL                                                , Q21 = ' ';

编辑:重新阅读您的问题,我认为这就是您想要的。将 N 与 ROWPCTN 添加,但之后没有任何内容。如果需要,您可以添加格式。您可能也需要为每个人都这样做。

AREA    = 'Area in Region' * (ROWPCTN='   '*f=PCTF. N*f=8.)

【讨论】:

  • 向表组添加 ALL 只是在底部添加一个带有计数的新行,我需要基本相同的东西,但作为一列。
  • 然后尝试将 ALL 移到 Q21 之后。
  • 如果这不起作用并且您需要进一步的帮助,请发布示例数据和您需要的更好的图像,因为从当前图像中看不清楚。
  • 在 Q21 之后添加 ALL 会在最后得到一个额外的列,但它填充了总百分比。我需要该行的总数。
猜你喜欢
  • 2013-05-25
  • 1970-01-01
  • 2020-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多