SAS - Tabulações Cruzadas

A tabulação cruzada envolve a produção de tabelas cruzadas, também chamadas de tabelas contingentes, usando todas as combinações possíveis de duas ou mais variáveis. No SAS, ele é criado usandoPROC FREQ juntamente com o TABLESopção. Por exemplo - se precisamos da frequência de cada modelo para cada marca em cada categoria de tipo de carro, precisamos usar a opção TABLES do PROC FREQ.

Sintaxe

A sintaxe básica para aplicar tabulação cruzada no SAS é -

PROC FREQ DATA = dataset;
TABLES variable_1*Variable_2;

A seguir está a descrição dos parâmetros usados ​​-

  • Dataset é o nome do conjunto de dados.

  • Variable_1 and Variable_2 são os nomes das variáveis ​​do conjunto de dados cuja distribuição de frequência precisa ser calculada.

Exemplo

Considere o caso de descobrir quantos tipos de carros estão disponíveis em cada marca de carro do conjunto de dados cars1 que é criado de forma SASHELP.CARScomo mostrado abaixo. Nesse caso, precisamos dos valores de frequência individuais, bem como a soma dos valores de frequência entre as marcas e os tipos. Podemos observar que o resultado mostra valores nas linhas e nas colunas.

PROC SQL;
create table CARS1 as
SELECT make, type, invoice, horsepower, length, weight
   FROM 
   SASHELP.CARS
   WHERE make in ('Audi','BMW')
;
RUN;

proc FREQ data = CARS1;
tables make*type; 
run;

Quando o código acima é executado, obtemos o seguinte resultado -

Tabulação cruzada de 3 variáveis

Quando temos três variáveis, podemos agrupar 2 delas e tabular cada uma delas com a terceira variável. Portanto, no resultado temos duas tabelas cruzadas.

Exemplo

No exemplo abaixo, encontramos a frequência de cada tipo de carro e cada modelo de carro em relação à marca do carro. Também usamos a opção nocol e norow para evitar os valores de soma e porcentagem.

proc FREQ data = CARS2 ;
tables make * (type model)  / nocol norow nopercent;   
run;

Quando o código acima é executado, obtemos o seguinte resultado -

Tabulação cruzada de 4 variáveis

Com 4 variáveis, o número de combinações emparelhadas aumenta para 4. Cada variável do grupo 1 é emparelhada com cada variável do grupo 2.

Exemplo

No exemplo abaixo encontramos a frequência de comprimento do carro para cada marca e cada modelo. Da mesma forma, a frequência da potência para cada marca e cada modelo.

proc FREQ data = CARS2 ;
tables (make model) * (length  horsepower)  / nocol norow nopercent;   
run;

Quando o código acima é executado, obtemos o seguinte resultado -