Programação SAS

Localizando Outliers Através do Intervalo Interquartil (+ Boxplot + Código SAS)

Recentemente, estava trabalhando com uma base de mais ou menos 500 mil linhas, onde a maior parte dos dados de uma determinada variável estava no intervalo de 0 a 1.000. Esta mesma variável, no entanto, possuía algumas linhas em que o valor dela era 5.000, 10.000 e até 15.000. Ou seja, haviam alguns outliers. Isto era um problema, principalmente, quando eu construía um gráfico de distribuição. Para lidar com isso, eu exclui os outliers com base no conceito do intervalo interquartil. (mais…)

Anúncios

Diferença entre duas datas no SAS (em dias, meses ou anos)

Calcular a diferença entre duas datas no SAS é simples, basta subtrair uma data pela outra. Porém, se você quiser fazer a diferença em meses, anos, semanas ou alguma unidade do tipo, há duas escolhas: (1) realizar a subtração e depois dividir o valor pelo número de dias correspondentes ao período (ex.: dividir por 30 no caso de mês) ou (2) utilizar a função intck(). É desta segunda que vou falar neste post. (mais…)

Tutorial: PROC MEANS no SAS

Como falei no post anterior sobre frequências (ver TUTORIAL: PROC FREQ NO SAS), é difícil entender bases grandes somente olhando para o analítico. Normalmente, vamos tentar obter algumas medidas que resumam o conteúdo em questão. Uma das formas de obter estas medidas, quando falamos de variáveis numéricas, é utilizando o proc means. Com o proc means você consegue encontrar a média, mediana, percentil, quartil  e várias outras estatísticas no SAS. Veja abaixo como utilizar este procedimento para entender seus dados. (mais…)

TUTORIAL: PROC FREQ NO SAS

Sempre que você for trabalhar com bases grandes, você provavelmente não vai conseguir dizer o que está dentro daquela base e/ou entender se seus dados fazem sentido, somente olhando para o analítico da base. Uma das formas de se analisar o conteúdo de uma base, é verificando as frequências com que aparecem algumas informações. Verificar a frequência é importante não só para validação das informações, como também para se obter insumos para tomada de decisão. No SAS, a principal forma de se obter as frequências é através do proc freq. Vamos verificar quais as diferentes formas de se usar este comando. (mais…)

Usando dia, mês e ano para formar uma data no SAS

Alguns dos posts mais visitados aqui são os de formatação de datas no SAS. Você pode ver Formatação de Datas no SAS e esse Convertendo diferentes formatos de data no SAS, como exemplos. Agora, vou mostrar uma outra função que eu desconhecia, a MDY( ). Ela é útil, pois além de intuitiva, serve para quando você tem que lidar com os campos dia, mês e ano, separados. No exemplo abaixo, temos uma coluna com o dia, outra com o mês e uma última com o ano. Vamos criar um campo no formato de data, na ordem mês, dia e ano: (mais…)

Importando Arquivos no SAS

Nem sempre os arquivos que você receberá, estarão no formato desejado. É comum recebermos arquivos em .txt, ou até mesmo em Excel, e precisarmos utilizá-los junto com bases em SAS. Felizmente, o SAS tem o PROC IMPORT para facilitar muito nossa vida. A sintaxe é bem simples, não tem muito segredo: (mais…)

Filtro e Criação de Variáveis com IF no SAS

O if é provavelmente o comando mais utilizado no SAS, junto com o JOIN (ou MERGE para os fãs de data step). Isso tudo porque é ele que vai te ajudar a fazer filtros, criar alguma variável de acordo com uma condição, criar mútiplas variáveis de acordo com uma condição ou até criar múltiplas variáveis de acordo com múltiplas condições. (mais…)

Como marcar o percentil no SAS?

Matemáticos, estatísticos e cientistas de dados em geral, gostam de trabalhar com percentil. Faz mais sentido do que dividir uma variável contínua em faixas de valor quaisquer, escolhidas de forma subjetiva. No SAS, eu costumo criar essas faixas com o PROC UNIVARIATE. Eu crio uma tabela auxiliar com os valores de cada percentil e depois marco na minha base à qual percentil que o indivíduo (ou elemento qualquer ali) pertence. Não sei se é a melhor forma, mas funciona. Espero que o código abaixo lhe seja útil: (mais…)