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 -