proc sort

SAS: Representatividade de cada linha e Soma Cumulativa

Recentemente me pediram ajuda com o SAS, para que fosse possível colocar, para determinada coluna, o quanto cada linha representava (%) da soma total dessa coluna. Na sequência, seria preciso colocar a soma cumulada desses percentuais. (mais…)

Anúncios

Como tratar duplicidades no SAS

É comum termos bases com duplicações, seja por erros ou por características próprias das bases. Se você quiser utilizar uma base sem duplicação no SAS, você deve combinar o comando de ordenação, o proc sort, com algum tipo de lógica. Vejamos um exemplo de uma tabela com duplicidade:

Leia mais…

Tratando Duplicidades no SAS

É comum encontrar campos duplicados em uma tabela. Seja porque algum join ou agrupamento que poderia ter sido melhor realizado (mesmo não trazendo informações erradas), por causa de algum erro de inserção da informação ou qualquer outra coisa. No SAS, há algumas maneiras práticas de tratar esse erro. Aqui você vai aprender a ordenar sua tabela com PROC SORT, exluir duplicidades com NODUPKEY, gerar uma tabela com os valores que estavam duplicados utilizando DUPOUT e excluir duplicidades por todos os campos com BY _ALL_.

Leia mais…

Proc Sort no R

Muita gente sabe utilizar o proc sort para ordenar os campos no SAS.

Por exemplo, podemos ordenar uma tabela chamada dados_entrada pelas colunas campo1 e campo2, do menor para o maior valor, e ter como saída uma tabela dados_saida (exemplo 1). E podemos também ordenar uma tabela chamada dados_entrada pelas colunas campo1, do menor para o maior, e campo2, do maior para o menor valor, e ter como saída uma tabela dados_saida (exemplo 2). Bastaria utilizar:

* exemplo 1
proc sort data= dados_entrada out= dados_saida; 
    by campo1 campo2; 
run;

* exemplo 2
proc sort data= dados_entrada out= dados_saida; 
    by campo1 descending campo2; 
run;

A mesma coisa, que nem todo mundo sabe, pode ser feita no R, e é até mais simples:

## exemplo 1
dados_saida = dados_entrada[order(dados_entrada$campo1,
dados_entrada$campo2),];

## exemplo 2
dados_saida = dados_entrada[order(dados_entrada$campo1,
-dados_entrada$campo2),];

R sendo R!