Как да покажа променлива за анализ (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 ви дава процента на колоната, т.е. колко заети субекти са АЗИАТЦИ, живеещи в NC?

За да изчислите частта, използвана за раса и състояние, можете да осредните булевата стойност:

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

И това ви дава необходимите данни, макар и грозно форматирани.

person Dirk Horsten    schedule 09.09.2015
comment
Благодаря за отговора! Просто го промених, че все още не дава това, което искам. - person user3305260; 09.09.2015