Добавить общее количество в конце таблицы процесса - PullRequest
0 голосов
/ 25 октября 2018

У меня есть выходные данные Proc Tabulate с процентами строк, и я хочу получить общее количество всех респондентов для каждой сводной переменной.Самое близкое, что я получаю, это то, что он добавляет строку под каждой переменной для подсчета, но мне действительно нужен только дополнительный столбец в конце, который представляет общее количество.

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» к сводным переменным (Area, Sex, Age), но получаю только ошибки.Мой желаемый результат должен выглядеть как изображение, за исключением того, что столбец «Количество» представляет собой общую сумму, а не 100 или 100%

Изображение полной таблицы

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
 ;;;;

1 Ответ

0 голосов
/ 25 октября 2018

Без данных сложно ответить, но попробуйте это:

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.)
...