Como posso incluir células com contagem zero no proc freq com a opção de lista? | SAS FAQ

Não é invulgar que uma tabulação cruzada de duas variáveis produza células com contagem zero. Nestes casos, a saída para proc freq com a opção de lista omitirá combinações de valores de variáveis que tenham zero contagens. Por exemplo, nos dados da amostra abaixo, não há casos em que o sexo = 2 eeth = 2. O conjunto de dados abaixo contém três variáveis. Duas variáveis,género e eth, são as variáveis categóricas que queremos cruzar em tabulação. A terceira variável é a contagem, que é um peso de frequência, indicando o número de casos com esse padrão no conjunto de dados, ou seja, há 21 casos em que o género=1 e eth=3.

data test; input gender eth count;datalines;1 1 121 2 121 3 212 1 22 3 43;run;

Quando executamos proc freq sem a opção de lista, a tabela inclui a célula com uma contagem zero (isto é, género=2 e eth=2). A declaração de peso especifica que a contagem de variáveis deve ser utilizada para determinar o número de casos com cada padrão no conjunto de dados.

proc freq data = test; weight count; table gender*eth;run; The FREQ Procedure Table of gender by ethgender ethFrequencyPercent Row Pct Col Pct 1 2 3 Total 1 12 12 21 45 13.33 13.33 23.33 50.00 26.67 26.67 46.67 85.71 100.00 32.81 2 2 0 43 45 2.22 0.00 47.78 50.00 4.44 0.00 95.56 14.29 0.00 67.19 Total 14 12 64 90 15.56 13.33 71.11 100.00

Executar proc freq com a opção de lista como mostrado abaixo, contudo, produz uma tabela sem linha para género=2 e eth=2, porque a contagem para esta combinação é zero.

proc freq data = test; weight count; table gender*eth /missprint list;run; Cumulative Cumulativegender eth Frequency Percent Frequency Percent 1 1 12 13.33 12 13.33 1 2 12 13.33 24 26.67 1 3 21 23.33 45 50.00 2 1 2 2.22 47 52.22 2 3 43 47.78 90 100.00

É possível, com um pouco de trabalho, obter uma tabela como a anterior, que contém a célula em falta. O primeiro passo é criar uma variável que seja uma constante igual a uma. Fazemo-lo abaixo com a variável chamada one.

data test; set test; one = 1;run;

P>Próximo, utilizaremos ods para capturar a saída dos meios proc em execução. A opção resumo = t instrui a SAS a armazenar o resumo produzido por meios proc num conjunto de dados t. No comando proc means, a opção n especifica que apenas o n (ou seja, a contagem de casos) deve ser computado. A opção de tipos completos especifica que todas as combinações das variáveis de classe (género e et) devem ser listadas, incluindo aquelas com contagens zero no conjunto de dados; caso contrário, elas seriam omitidas. A opção freq especifica que a contagem de variáveis deve ser usada como o número de casos que seguem um dado padrão no conjunto de dados (ou seja, neste exemplo, a opção freq faz em proc significa que peso fez em proc freq). A declaração var indica a variável sobre a qual as estatísticas devem ser calculadas; é aqui que a variável um é usada.

ods output summary = t;proc means data = test n completetypes; class gender eth; freq count; var one;run; The MEANS Procedure Analysis Variable : onegender eth N Obs N 1 1 12 12 2 12 12 3 21 21 2 1 2 2 2 0 0 3 43 43

Isto cria um conjunto de dados t (mostrado abaixo) com seis observações, uma para cada combinação de eth por género, ambas as quais aparecem como variáveis no nosso novo conjunto de dados. O novo conjunto de dados também contém uma variável chamada one_N,que é o número de casos que se enquadram em cada uma das categorias de género por eth (incluindo uma contagem de 0 quando apropriado).

proc print data=t;run;Obs gender eth NObs one_N 1 1 1 12 12 2 1 2 12 12 3 1 3 21 21 4 2 1 2 2 5 2 2 0 0 6 2 3 43 43

Agora podemos executar proc freq no novo conjunto de dados t. A declaração de peso usa one_N como variável contendo a contagem de casos com um dado padrão de variáveis. A opção /zeros instrui SAS a incluir na lista casos em que one_N = 0. A lista resultante inclui uma linha para a combinação de género e eth com uma contagem zero.

proc freq data = t; table gender*eth /list; weight one_N /zeros;run; The FREQ Procedure Cumulative Cumulativegender eth Frequency Percent Frequency Percent 1 1 12 13.33 12 13.33 1 2 12 13.33 24 26.67 1 3 21 23.33 45 50.00 2 1 2 2.22 47 52.22 2 2 0 0.00 47 52.22 2 3 43 47.78 90 100.00

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *