Muitos posts sobre manipulação de dados?

Às vezes eu tenho vontade de escrever mais sobre técnicas de modelagem estatística, mas me falta tempo por conta do trabalho, mestrado e outros hobbies além do blog. Postar alguma coisa de SAS e R é mais fácil, pois passo boa parte do dia manipulando dados nessas ferramentas. Continuar a ler “Muitos posts sobre manipulação de dados?”

Gerar amostras aleatórias simples no SAS

Em diversos estudos estatísticos, seja para fazer uma pesquisa de mercado ou um modelo estatístico, é necessário gerar uma amostra aleatória. No SAS, isso é bem simples:

/*Substitua os nomes: tabela_entrada, amostra_gerada *\
/*          e tamanho_da_amostra                     *\
proc surveyselect 
    data= tabela_entrada
    out= amostra_gerada
    n = tamanho_da_amostra method=SRS;
run;

Ps.: As amostras são sem reposição!

Empilhando bases no SQL

Mais um post rápido, em que o título fala por si só.

Primeiro, uma query que vai unir as duas tabelas, removendo duplicidades:

select * from table1 
union select * from table2

Query que vai unir as duas tabelas, sem remover duplicidades. Ou seja, se tivermos todas as colunas idênticas, a tabela final terá linhas idênticas:

select * from table1
union all
select * from table2

Lembrando que o SQL pode ser utilizado no SAS, contanto que você inicie com um proc sql!

Regressão Diff-In-Diff com Efeitos Fixos no R

O conteúdo desse post demanda um certo tempo para explicar e detalhar, mas para não segurar informação, segue um código para rodar um modelo de diferenças em diferenças com efeito fixo em R:

## dummy de periodo: o experimento ocorreu no mes 6
dados_modelo$time = ifelse(dados_modelo$mes > 6, 1, 0);

## dummy de tratamento: grupo tratado tem campo tratamento = 1
dados_modelo$treated = ifelse(dados_modelo$tratamento == 1, 1, 0 );

## dummy tratamento * periodo ~ efeito do experimento
dados_modelo$did = dados_modelo$time * dados_modelo$treated;

## regressao diff-in-diff cujo tratamento eh ter ou nao tratamento
## com efeito fixo por paciente
regressao = lm(variavel_resposta ~ treated + time + did +
factor(paciente_id),data = dados_modelo);
summary(regressao);

Acredito que o leitor não terá muito problemas para entender que se for necessário focar em diff-in-diff, ele deve se atentar para a dummy did e para o efeito fixo a sintaxe factor().

Para quem está com o inglês já no nível próximo ao avançado, enquanto não posto nada a respeito desse tema, sugiro os links abaixo:

DID101R

An intuitive introduction to Difference-in-Differences

Fixed Effects estimators: an introduction

Filtros no R

Já falei várias vezes sobre como filtrar os dados no R (Excluindo linhas de uma tabela no R tem algo parecido), segue mais um exemplo:

## Filtrando apenas as linhas com a coluna mes igual a 3
## na tabela dados_modelo
dados_modelo[(dados_modelo$mes == 3),];

## Filtrando apenas as linhas com a coluna mes igual a 3, 4 ou 5
## na tabela dados_modelo
dados_modelo[dados_modelo$mes %in% c(3,4,5,6,7,8,9,10,11),];

## Filtrando apenas as linhas com a coluna mes igual a 3, 4, 5, ..., 10
dados_modelo[dados_modelo$mes %in% c(3:10),];

## Filtrando apenas as linhas com a coluna estado igual a SP
dados_modelo[dados_modelo$estado == "SP"),]

E aí? Gostou do conteúdo? Se inscreva para receber todas as novidades. Deixe seu e-mail em INSCREVA-SE na barra à direita, logo abaixo de pesquisar. E, por favor, não deixe de comentar, dar seu feedback e, principalmente, compartilhar com seus amigos. De verdade, isso faz toda a diferença. Além disso, você também pode acompanhar mais do meu trabalho seguindo a conta de Twitter @UniDosDados, no Instagram @universidadedosdados ou por alguma das redes que você encontra em Sobre o Estatsite / Contato, como meu canal de Youtube Canal Universidade dos Dados.

Aproveite e adquira sua camiseta de data science na LOJA DA UNIVERSIDADE DOS DADOS. Vai ficar estiloso e me ajudar neste projeto!

Como exportar tabelas no R

Mais um post rápido…

Assim como a gente consegue importar tabelas no R utilizando o read.table(), é possível exportar as tabelas, porém, ao invés de ler, você vai escrever. Logo, como todas as funções do R, essa é mais uma bem intuitiva: write.table(). Continuar a ler “Como exportar tabelas no R”

Conversão de Número para Texto no SAS

Como eu sempre digo, lidar com datas é bem chatinho em qualquer linguagem. No SAS, não é diferente. Como já falei sobre como lidar com datas no SAS no post Formatando Datas no SAS e Como calcular a diferença entre duas datas no SAS?, resolvi agora fazer uma conversão menos comum, mas que ocorre também. Agora, é hora de aprender como lidar com os formatos número e texto.

Continuar a ler “Conversão de Número para Texto no SAS”