Как отобразить переменную анализа (0–1) в процентах с помощью Proc Tabulate в SAS?

Предположим, у меня есть такой набор данных:

Пример набора данных

И я хотел бы настроить таблицу с помощью proc tabulate, чтобы она выглядела так:

Пример таблицы

Пока у меня есть такие коды:

    PROC TABULATE
    DATA = EMPLOY;
    CLASS RACE STATE;
    VAR EMPLOYED;
    TABLE RACE*STATE, N EMPLOYED*SUM EMPLOYED*PCTSUM<TABLE*RACE>;
    RUN;

Но, похоже, это не дает мне того, что я хочу, можно ли это как-то исправить? Я знаю, что использование 0-1 является странным, и рассматривать его как переменную анализа для этого, но мой босс не хочет никаких столбцов «N» (0), только столбцов «Y» (1).

Благодарю вас!


person user3305260    schedule 09.09.2015    source источник


Ответы (1)


Data= — это вариант оператора Proc, а не отдельный оператор.

PROC TABULATE DATA = EMPLOY;

Вы правильно определяете переменные CLASS и VAR

CLASS RACE STATE;
VAR EMPLOYED;

а поскольку логическое значение TRUE кодируется как 1, вы можете суммировать его, чтобы подсчитать количество работающих, но SUMPCT дает вам процент столбца, т.е. сколько работающих субъектов составляют азиаты, проживающие в Северной Каролине?

Чтобы рассчитать долю занятых на расу и штат, вы можете усреднить логическое значение:

TABLE RACE*STATE, N EMPLOYED*(SUM MEAN);
RUN;

И это дает вам необходимые данные, хотя и безобразно отформатированные.

person Dirk Horsten    schedule 09.09.2015
comment
Спасибо за ответ! Я просто изменил, что это все еще не дает то, что я хочу. - person user3305260; 09.09.2015