Reforçando um pouco os posts Análise dos Resíduos de uma Regressão Linear, veja abaixo como plotar os resíduos de uma regressão para verificar sua normalidade:
Categoria: Programacao em R
Substituindo missing pela média no R
Já mencionei aqui como excluir os valores missing dos seus cálculos no R, e aqui explico como excluir as linhas contendo valores missing. Porém, como vocês bem sabem, ao excluirmos a linha inteira temos perda de informação, afinal, uma coluna pode estar missing mas todo o restante da linha conter informação. Sendo assim, alguns estatísticos podem preferir não excluir a linha e fazer a escolha de substituir esses missing por outro valor, aqui vamos substituir pela média:
SAS Group By no R
Já aprendemos como somar e agrupar os dados no SAS aqui, no R isso é tão simples quanto, basta você utilizar a função tapply(). A função é composta basicamente de três elementos: o vetor contendo valores, o campo que será utilizado no agrupamento e a função que será aplicada. Continuar a ler “SAS Group By no R”
Acompanhando a execução da macro no SAS
Como gerar números aleatórios no R?
Sem enrolação, veja algumas formas de se gerar números aleatórios no R:
Média Truncada (Trimmed Mean)
Já falei de estatística descritiva algumas vezes (como em Estatística Descritiva), mas nunca mencionei a média truncada, principalmente porque eu quase não uso.
A média truncada nada mais é do que a média desconsiderando algum percentil, o que a faz útil se você quer desconsiderar os outliers. Se você quiser calcular a média truncada de um conjunto de 10 observações, você vai retirar a primeira e a última observação, para depois calcular a média.
Por exemplo: Qual a média truncada de 10% de {1,2,2,2,2,2,2,2,2,10}?
Será (2+2+…+2)/8 = 2
E se quisermos calcular no R?
dados = c(1,2,2,2,2,2,2,2,2,10); mean(dados, trim=.1); [1] 2
Simples!
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!
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:
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”