PROC FREQ em SAS, como o seu nome, dá-nos a contagem de frequência, bem como outras estatísticas que ajudam na análise dos dados. Mas o procedimento Proc Freq pode fazer mais do que apenas dar a contagem.
Conteúdo da página
O que é PROC FREQ?
PROC FREQ é um procedimento para analisar a contagem de dados. É utilizado para obter contagens de frequência para uma ou mais variáveis individuais ou para criar tabelas de duas vias (tabulações cruzadas) a partir de duas variáveis.
PROC FREQ é também utilizado para realizar testes estatísticos sobre os dados de contagem.
PROC MEANS é outro procedimento SAS, que pode ser usado para calcular estatísticas descritivas como encontrar a média, desvio padrão, valores mínimos e máximos, e muito mais cálculos estatísticos.
Proc freq pode ser o primeiro procedimento que se pensa quando o resultado necessário é uma contagem. Para efeitos deste tutorial, tomei o exemplo do conjunto de dados SASHELP.HEARTS. Aqui, pode ser utilizado para encontrar o número de sujeitos com bp_status=’Normal’, contar o número de sujeitos MACHO e FÊMEA no conjunto de dados.
Mas e se o resultado necessário não for necessariamente uma contagem? Proc freq pode ser uma ferramenta útil para outros fins que não a contagem. Seguem-se apenas alguns dos tipos comuns de questões que podem surgir e que se enquadram nesta categoria:
- Que percentagem de homens e mulheres têm doenças cardíacas?
- Qual é a contagem de sujeitos que morreram devido ao colesterol elevado?
- Qual é a causa de morte dos sujeitos?
- Quem são os sujeitos afectados?
- Há algum sujeito que tenha registos não únicos?
Proc freq pode não ser o primeiro método pensado para responder a perguntas como estas, mas pode ser uma opção muito rápida e eficiente de usar.
Por que razão a freq pode ser um bom candidato para estas respostas rápidas? Em primeiro lugar, nestes casos, há menos digitação do que outros métodos. Isto pode poupar tempo, bem como reduzir os erros de digitação.
Adicionalmente, pode já haver algumas freqs na obra para verificar um problema quando surgirem outras questões. Assim, obter os resultados das contagens de frequência existentes em vez do processamento de dados pode ser um próximo passo lógico.
Finalmente, utilizando os conjuntos de dados de saída fornecidos pelo proc freq, existem listas prontamente disponíveis de valores únicos, combinações e contagens.
Sintaxe do PROC FREQ
PROC FREQ <options>; BY variables ; EXACT / <statistic-options> ; OUTPUT <OUT=sas dataset options> ; TABLES requests </options> ; TEST </options> ; WEIGHT variable </options> ;
Declarações PROC FREQ
- BY Fornece análises separadas para cada grupo BY
- Pedidos EXACTOS para testes exactos.
- OUTPUT Solicita um conjunto de dados de saída.
- TABELAS Especifica tabelas e solicita análises.
- TESTE Solicita testes para medidas de associação e concordância.
- PESO Identifica uma variável de peso.
Opções PROC FREQ
P>PROC FREQ tem vários possíveis pedidos de saída diferentes. A mais comum é a opção OUT= que é utilizada para criar um conjunto de dados SAS de uma determinada tabulação.
Opções para a declaração da tabela são seguidas por uma barra oblíqua. O “/” resolve a ambiguidade sobre se a palavra que está a usar é um nome de variável ou uma palavra-chave SAS e assim o “/” diz ao SAS os argumentos para o fim da tabela e o que quer que seja depois das opções é modificar o comportamento por defeito da declaração.
Outro exemplo é a opção NOCOL quando usada, solicitar ao SAS que não mostre as percentagens da coluna.
Exemplo de PROC FREQ
Below é um uso básico de PROC FREQ em SAS, para obter contagens do número de Estudantes observados em cada categoria de Género.
proc freq data=sashelp.class;table sex;run;
TÁBULO Idade*peso / CHISQ;
A declaração acima solicita que o qui-quadrado e as estatísticas relacionadas sejam reportadas para a tabulação cruzada A*B.
Cenário 1. Qual é a contagem de masculino e feminino com bp_status de Elevado e status de excesso de peso?
Para este tipo de cenários, Tipos e passos de dados podem ser usados ou proc SQL é outra opção. Uma etapa de dados pode ser a primeira ideia para uma solução. Isto envolve primeiro, ordenar as necessidades de dados usando proc sort. Depois, é necessário seleccionar registos de interesse e sexo único (etapa de dados). Depois a saída do registo (proc print).
Mas proc freq pode responder a esta pergunta num bloco de código sem um passo de dados! Um proc freq pode ser utilizado com uma declaração WHERE para subconjugar com o bp e o estado do peso.
proc freq data=sashelp.heart;where bp_status='High' and weight_status='Overweight';tables sex /nocum;run;
Uma declaração de sexo TABELAS pode então ser utilizada para obter uma lista única do sexo incluído nesse subconjunto. A opção NOCUM é utilizada para excluir a frequência cumulativa do resultado.
Scenario 2: Que Produtos foram afectados pelo valor da previsão?
Para este cenário, utilizei o conjunto de dados SASHELP.PRDSALE. Imagine que se descobriu que existem alguns produtos em que o preço real de venda é maior do que o preço previsto.
A primeira pergunta é provável: Quais são os produtos em que o preço real é superior ao previsto?
Mas este é o tipo de pergunta em que os resultados podem levar a muitas questões de seguimento e o âmbito da investigação e análise pode expandir-se exigindo etapas de codificação adicionais para chegar à causa raiz da questão.
Independentemente do método seguido, a investigação começará com um conjunto de dados contendo tanto os dados do laboratório como a data de consentimento informado para comparação.
Esta pergunta pode ser respondida trabalhando dentro de uma etapa de dados ou utilizando o método proc freq.
Método de etapa de dados:
Trabalhar dentro de uma etapa de dados, se o conjunto de dados ainda não estiver ordenado, uma ordenação proc viria primeiro e depois uma etapa de dados para seleccionar os valores únicos do produto de interesse.
proc sort data=sashelp.prdsale out=sale;by product;run;data unique_product(keep=product);set sale(where=(actual > predict));by product;if first.product;run;
Proc freq method:
Trabalhar com um proc freq, poderíamos simplesmente fazer um freq com USUBJID na declaração TABLES, além de utilizar a declaração WHERE para subconjuntar aos registos com emissão:
proc freq data=sashelp.prdsale;where actual gt predict;tables product /list missing nocum;run;
One-Tabelas de Frequência de Via
P>Pode usar PROC FREQ para produzir tabelas de frequência/contas por categoria e realizar nas contagens.
Usando a opção ORDER=FREQ
proc freq data=data.flighttravelers order=freq;table day_of_booking;run;
- PROC FREQ no exemplo acima inclui a opção ORDER=FREQ.
- A utilização da opção ORDER=FREQ ajuda a realizar rapidamente uma análise de quais as categorias que têm a maior e a menor contagem.
- A coluna “Frequency” dá a contagem do número de vezes que a variável day_of_booking assume o valor na coluna.
- A coluna “Percentagem” é a percentagem do total.
li>As colunas “Frequência acumulada” e “Percentagem” reportam um aumento na contagem e percentagem para valores de day_of_booking.
Você usa este tipo de conhecimentos para aprender sobre a distribuição das categorias no seu conjunto de dados.
Por exemplo, nestes dados, 28 pessoas reservaram voos no domingo.
Usando a opção “ORDEM=FORMATADO”.
Usando a opção ORDER=FORMATTED pode controlar a ordem em que as categorias serão exibidas na tabela.
P>Para usar esta opção, precisa de criar um formato personalizado para definir a ordem que pretende na saída.
proc freq order=formatted data=data.flighttravelers;tables day_of_booking;title "Example of PROC FREQ with Formatted Values";format day_of_booking $dayfmt.;run;
Criação de um-Via Tabela de frequência de um resumo de dados
Se os dados já estiverem resumidos, pode usar a declaração de PESO para indicar as variáveis que representam a contagem.
proc freq;weight count;title 'Reading Summarized Count data';tables category;run;
WEIGHT COUNT diz ao PROC FREQ que os dados para a variável COUNT são contagens. Embora existam dois registos para CENTS, o programa é capaz de combinar o PESO numa única categoria CENTS (252 CENTS).
Test Goodness of Fit usando PROC FREQ em SAS
PROC FREQ em SAS também pode ser usado para testar a bondade de ajuste para um só sentido. tabela Um teste de adequação de uma única população é um teste que é utilizado para determinar se a distribuição das frequências observadas nos dados da amostra representa o número esperado de ocorrências para a população.
Assumindo que o número de observações é fixo.
As hipóteses a serem testadas são as seguintes:
- H:0 A população segue a distribuição hipotética.
- H: a A população não segue a distribuição hipotética.
Um teste de qui-quadrado é um dos testes de adequação. Uma decisão pode ser tomada com base no valor p associado a essa estatística.
Um valor p baixo indica que os dados não seguem a distribuição hipotética, ou teórica.
Se o valor p for suficientemente baixo (geralmente <0.05), rejeitará a hipótese nula.
A sintaxe para realizar um teste de adequação é a seguinte:
PROC FREQ;
Variável CHISQ TESTP=(lista de rácios);
Exemplo:
p>Uma companhia aérea operou voos diários para várias cidades indianas. Um dos problemas para esta companhia aérea é a preferência alimentar dos passageiros. O chefe de operações da cozinheira acredita que 35% dos seus passageiros preferem comida vegetariana, 40% preferem comida vegetariana. 20% comida de baixas calorias e 5% pedido de comida para diabéticos.
Uma amostra de 500 passageiros foi escolhida aleatoriamente para analisar as preferências alimentares e os dados são mostrados abaixo.
Faremos um Teste CHI-SQURE para verificar se a crença do Capitão Cozinheiro é verdadeira em alfa=0.05
Food Type | Diabetic | |||
---|---|---|---|---|
Número de Passageiros | 190 | 185 | 90 | 35 |
Solução:
proc freq data=airlines order=data;weight no_of_passengers;title 'goodness of fit analysis';tables foodtype / nocum chisq testp=(0.35 0.40 0.20 0.05);run;
- Os dados são resumidos como pelo número_de_peso dos_passageiros.
- A ORDEM=DADOS é utilizada para ordenar os dados como no conjunto de dados de entrada. As frequências são baseadas na variável Food_Type.
- li>As declarações /NOCUM CHISQ e TESTP= são utilizadas para calcular o teste de adequação ao bem.
- As taxas de teste são baseadas na percentagem de descendência esperada de cada uma das quatro categorias.
- A opção NOCUM solicita uma tabela sem a coluna cumulativa.
Nota: Deve usar a opção ORDER=DATA para assegurar que os rácios das hipóteses listadas na declaração TESTP= coincidem correctamente com as categorias nos dados de entrada.
O valor p para o teste do qui-quadrado(p=7,4107) é superior ao valor crítico(a=0,05), portanto concluímos que a crença do Capitão Cook acerca das preferências alimentares é verdadeira.
Teste Qui-quadrado de Independência – Analisando tabelas de duas vias usando PROC FREQ em SAS
Usando PROC FREQ em SAS podemos realizar o teste Qui-quadrado de Independência, testamos se dois ou mais grupos são estatisticamente independentes ou não.
A declaração TABELAS com duas ou mais variáveis listadas e separadas por um asterisco cria uma tabela de tabulação cruzada para relacionar duas variáveis.
A tabela de tabulação cruzada é frequentemente chamada tabela de contingência.
A contagem do número de ocorrências numa amostra através de duas variáveis de agrupamento cria uma tabulação cruzada.
No exemplo abaixo queremos determinar a relação entre o crime e o consumo de álcool.
A variável independente é CRIME e a variável dependente é a DRINKER.
Assim, a declaração da tabulação cruzada será
TABLES CRIME*DRINKER
A hipótese nula e alternativa neste caso é:
- h_0 : As variáveis são independentes, o que significa que não há associação de crime e consumo de álcool
- h_a : As variáveis são dependentes, o que significa que a taxa de criminalidade é dependente do consumo de álcool
proc freq data=drinkers;weight count;tables crime*drinker/chisq expected norow nocol nopercent;title 'chi square analysis of a contingency table';run;
Por defeito, o quadro mostrará quatro números em cada célula: a frequência global, a percentagem global, a percentagem da fila, e a percentagem da coluna, como abaixo.
O ESPERADO especifica que os valores esperados devem ser incluídos na tabela, e NOROW, NOCOL, e NOPERCENT dizem à SAS para excluir estes valores da tabela.
Observe as estatísticas da produção. O valor qui-quadrado é 49,5660 e p<0,0001.
P>Assim, rejeita-se a hipótese nula i.e. não há associação (independência) e conclui-se que existe evidência de uma relação entre o estado de embriaguez e o tipo de crime cometido.
A maior parte dos valores esperados estão próximos dos valores observados, enquanto que no caso de Fraude o valor observado(63) é diferente do que era esperado(109).14).
Esta informação leva a concluir que os envolvidos na fraude são menos propensos a beber álcool.
Cálculo do risco relativo usando PROC FREQ em SAS
Duas tabelas de contingência são frequentemente usadas enquanto se examina uma medida de risco. Num teste médico, estes tipos de tabelas são construídas quando uma variável representa a presença ou ausência de doença e a outra indica algum factor de risco.
Uma medida deste risco num estudo de caso-controlo chama-se odds ratio (OR).
Num estudo de caso-controlo, um investigador recolhe uma amostra de sujeitos e olha para trás no tempo para qualquer exposição ou não exposição à doença.
Num estudo de coorte, os sujeitos são seleccionados pela presença ou ausência de risco e depois observados ao longo do tempo para ver se desenvolvem um resultado, a medida deste risco chama-se risco relativo (RR).
ODDS Ratio é quantas vezes mais provável a probabilidade de encontrar uma exposição em alguém com doença é comparada com encontrar a exposição em alguém sem a doença.
Risco Relativo indica quantas vezes mais ou menos uma pessoa exposta desenvolve um resultado em relação a uma pessoa não exposta.
Em qualquer dos casos, uma medida de risco (OU ou RR) igual a 1 indica ausência de risco.
Uma medida de risco diferente de 1 representa um risco. Assumindo que o resultado estudado é indesejável.
- Medida do risco >1 indica um risco aumentado do resultado.
- Medida do risco <1 implica um risco reduzido do resultado.
li>Medida do risco = 1 indica nenhum risco.
No PROC FREQ, a opção para calcular os valores para OR ou RR é RELRISK e aparece como uma opção para a declaração TABLES como aqui mostrado:
TABLES CHOLESTROLDIET*OUTCOME / CHISQ RELRISK;
Exemplo
proc freq data=HeartDisese order=data;title 'Case-Control Study of High Fat/Cholesterol Diet';TABLES CHOLESTROLDIET*OUTCOME / CHISQ RELRISK;exact pchi or;weight Total;run;
Frequência diz-nos quantos indivíduos temos na dieta de baixo colesterol com resultado de NO/YES Heart Disease.
Interpretando a primeira linha, temos 6 indivíduos com BAIXO colesterol sem doença cardíaca enquanto 2 indivíduos com BAIXO colesterol com doença cardíaca.
Expectativa indica o valor real para o valor observado.
A percentagem é a percentagem Geral que indica que entre todos os indivíduos 26,09 % das pessoas estão na dieta com BAIXO colesterol e não têm Doença Cardíaca.
A percentagem de indivíduos que estão na dieta com BAIXO colesterol diz-nos que a percentagem de indivíduos que estão na dieta com BAIXO colesterol NÃO tem nenhuma doença cardíaca em 8 indivíduos que estão na dieta com BAIXO colesterol. i.e 75% das pessoas que estão na dieta de baixo colesterol não têm doenças cardíacas.
COL Percent diz-nos a percentagem de indivíduos que não estão na dieta de baixo colesterol. i.e 6 em cada 10 que é 60%. enquanto que 80% das pessoas que têm doenças cardíacas estão na dieta de ALTO Colesterol.
A interpretação do teste CHI-SQUARE diz-nos a associação destas variáveis entre o que era esperado e o que é observado.
As estatísticas do Qui-Quadrado (4.9597) são inferiores ao valor P(0,0259) o que indica que, existe uma associação entre o que era esperado e o que é observado.
O Aviso
Uma das hipóteses do teste CHI-SQUARE é que o valor observado em cada célula deve ser superior a 5. No exemplo acima, temos 4 e 2 que são inferiores a 5. Nestes casos, é mais apropriado usar o teste Exacto de Fisher.
O teste exacto de Fisher (0.0393) que é estatisticamente significativo a 5% alfa. por isso podemos dizer que existe uma associação e talvez uma dieta de ALTO Gordura esteja associada a ALTO Risco de Doenças Auditivas.
A declaração EXACTA é para PICHI, que significa o valor P para o CHI-SQUARE produz a tabela abaixo.
- text{Odds ratio} = frac {text{ods de exposição num grupo}}}{text{ods de exposição não num grupo}}
- Fractura grande {6/2} {4/11} = 8,25
Rácio Odds – 8,25 com limite de 95% de confiança, o que significa que a probabilidade de ter uma doença cardíaca é 8 vezes maior do que as pessoas que não têm uma doença cardíaca
O risco relativo de 2,88 indica que a doença cardíaca é 2,88 vezes maior no grupo ELEVADO GORDO. (Risco aumentado).
O risco relativo de 0,34 diz-nos que, Existe um risco diminuído (0,34 vezes Menos) de colesterol BAIXO e de doença cardíaca.
Desde que tenhamos especificado EXACTO na Razão ODD, obteremos a última tabela como abaixo.
A razão de probabilidade é a mesma que a acima que é 8.25 mas também dá o limite de confiança exacto.
Download Proc-Freq, ficheiros de exercício,…