Buscar

refererencia-rapida-geral-stata-pt

Prévia do material em texto

Traduzido e adaptado de fonte orginal: dataninja.wordpress.com 
Contribuidores: Ronnie Babigumira, Jamie Cotta e Carolina de Souza Costa 
 
 
REFERÊNCIA RÁPIDA PARA TRENAMENTO EM STATA: 
Comandos importantes em Stata 
 
 
 
 
 
 
Este documento pode ser usado como referência durante e após o treinamento 
em Stata, particularmente para os vídeos que tratam de descrição e análises de 
dados. 
 
Vários comandos podem ser especificados com abreviações (por exemplo, 
describe,des, e de são apropriados indicar describe) e exemplos serão 
apresentados para esclarecer alguns comandos. 
 
Texto em courier new vermelho refere-se a um comando a ser digitado na 
janela de comandos do programa Stata. Texto em courier new vermelho 
itálico refere-se à informação a ser digitada que varia com o banco de 
dados/arquivo do usuário. variável = a variável de interesse var# = cada 
variável de interesse. 
 
Na maioria dos casos, opções adicionais podem seguir comandos iniciais para 
funções e operações mais específicos/detalhados. Apenas alguns exemplos de 
linhas de comandos aparecem neste documento. 
 
 
 
 
Exemplo do interface de Stata 
 
 
Traduzido e adaptado de fonte orginal: dataninja.wordpress.com 
Contribuidores: Ronnie Babigumira, Jamie Cotta e Carolina de Souza Costa 
 
I. Iniciando com Stata 
 
I.1. Uso geral 
 Stata é sensível ao tipo de Caixa (maiúscula e minúscula são interpretadas como letras diferentes) 
 Usar aspas “...” ao redor de informação string (texto) 
 Usar == para uma equação logica (if x==1) 
 Usar /// para continuar uma linha com mais de 80 caracteres 
 Usar / para indicar todos os valores no intervalo de x a y (i.e. 1 / 10 representa todos os valores de 1 a 10) 
 Usar #delimit; para que os comandos sejam delimitados com o ; no arquivo .do: (ver seção I.6. para arquivos .do) 
(facilita uma organização visual melhor de comandos, em vez de ter linhas de comandos muito longas) 
 Usar #delimitcr; para especificar que o delimitador seja o ENTER. 
 Para inserir comentários en arquivos .do e programas se pode 
1) começar a linha com um asterisco (*) 
 2) inserir o comentário entre /* e */ ao início ou no meio da linha 
 3) começar o comentário com // ao início o ao final da linha 
 4) começar o comentario com /// 
Exemplo 1: 
comando1 
 * (seu comentário aqui, esta linha não será considerada) 
comando2 
comando3 
Exemplo 2: 
comando1 /*(seu comentário aquí, o texto entre os asteriscos não será considerada) */ 
comando2 
comando3 
Exemplo 3: 
comando1 
// (seu comentário aqui) 
comando2 
comando3 // (outro comentário aquí, o resto da linha não será considerada) 
comando4 
 Exemplo 4: 
comando1 
comando2 /// (outro comentário aquí, esta linha debe ser ligada à próxima linha) 
comando3 
 Sempre se necesita incluir um o mais espaços antes das barras // e ///. 
 
 
 
Traduzido e adaptado de fonte orginal: dataninja.wordpress.com 
Contribuidores: Ronnie Babigumira, Jamie Cotta e Carolina de Souza Costa 
 
I.2. Familiarizando-se com sintaxe de Comandos 
 [by varlist] comando [varlist] [=exp] [in range] [weight] [,options] 
varlist' faz que o Stata repita o comando para cada sub-amostra dos dados para a qual valores das variáveis no varlist sejam iguais. 
Nos exemplos apresentados aqui substituimos varlist com variable. 
 Se nenhum variable está incluido, Stata assume _all, para incluir todas as variávies no banco de dados. 
 if exp restringe o escopo do comando aos casos para os quais o exp (a expressão) é verdadeira. 
 in range restringe o escopo de um comando a um intervalo específico de observações. 
 weight indica o peso alocado a cada observação. 
 options: muitos comandos tem opções adicionais e '[options]' é o método para invocar estas opções por comandos específicos. 
 
I.3. Digitar comandos rapidamente e consertar erros (Windows/Mac Unix) 
 Para recuperar a linha de comandos anterior: Page Up Ctrl-R 
 Clicar em Page Up (ou Ctrl-R) várias vezes para retornar decrescentemente pelas linhas de comandos anteriores. 
 Para passar adiante pelas linhas de comandos anteriores: Page Down Ctrl-B 
 Para visualizar uma lista das últimas 5 linhas de comandos: #review #review 
 Para visualizar as n linhas de comandos anteriores: #review n # review n 
 Para visualizar a na linha de comando: n Ctrl-Home n Ctrl-W 
 
I.4. Editar linhas de comando 
 Usar a seta esquerda e direita para mudar o cursor. 
 Para mudar o cursor até o início da linha: Home Ctrl-K 
 Para mudar o cursor até o final da linha: End Ctrl-P 
 Para deletar o caracter na localização do cursor: Delete Ctrl-D 
 Digitando substituirá caracteres existentes 
 Para inserir caracteres em frente ao cursor sem substituir: Insert Ctrl-E 
 Para voltar ao modo de substituição: Insert Ctrl-E 
 Para deletar uma linha e recomeçar: Esc Ctrl-U 
 Para cortar a linha na localização do cursor: Ctrl-End Ctrl-X 
I.5. Visualisar e modificar diretório (pwd, cd) 
 Visualisar em qual diretório Stata se está procurando/salvando arquivos: pwd (pwd = print working directory) 
 Mudar de diretório: cd (cd = change directory) 
 Visualisar, na janela de resultados, todos os arquivos dentro do diretório atual: dir 
 
Traduzido e adaptado de fonte orginal: dataninja.wordpress.com 
Contribuidores: Ronnie Babigumira, Jamie Cotta e Carolina de Souza Costa 
 
I.6. Executar uma rotina 
 Executar um arquivo .do: caminhocompleto/nomearquivo.do 
caminhocompleto = o caminho inteiro da pasta onde o arquivo está guardado nomearquivo = nome escolhido pelo pesquisador para o arquivo 
 set more off 
run C:\Desktop\STATEX\correlacao_ingreso2010.do 
 Executar comando suprimindo output e procedendo apesar dos erros: capture comando 
 Executar comando e ver output e mensagens de error: capture noisily comando 
 
I.7. Criar e salvar arquivo .log 
 Criar um registro de seu trabalho (gravar e salvar os resultados dos comandos executados) 
 log using caminhcompleto/nomearchivo.log ou 
log using caminhcompleto/nomearchivo.log, text replace (text replace substitui a versão anterior do log) ou 
capture log using caminhcompleto/nomearchivo.log 
 Parar de salvar resultados (fechar o log): log close 
 Para passar mensagens de erro: capture by 
 Visualisar log inteiro: view nomearquivo.log 
Exemplo: 
log using C:\Desktop\STATEX\anova_renda2010.log, text replace 
comando1 
comando2 
log close 
view anova_renda2010.log 
 
I.8. Usar operadores: Relação lógica aritmética (numérica e string(texto)) 
+ somar ~ não - subtrair 
* multiplicar / dividir & e | ou 
< menor que > maior que >=> maior ou igual <= < menor ou igual 
^ elevado à potência == igual != não igual ~= não igual 
 
Traduzido e adaptado de fonte orginal: dataninja.wordpress.com 
Contribuidores: Ronnie Babigumira, Jamie Cotta e Carolina de Souza Costa 
 
1.9. Incluir qualificadores em expressões 
 Caso x seja igual a 1: if x==1 
 Caso x seja maior que 5 e menor que 20: if x>5 & x<20 
 Para indicar que está nas primeiras 10 observações: in (1/10) 
 Para realizar uma ação por grupos (um ou mais): comando by(grupo) grupo refere a uma variável categórica 
Exemplos: 
by genero: summarize escolaridade ou 
bysort genero: sum escolaridade if edade >=15 & edade <=55 ou 
graph bar escolaridade, over (genero) 
 
1.10. Listar variáveis 
 Listar x1 até x10: x1-x10 
 Listar todas as variávies incluindo e entre var2 e var6: var2-var6 
Exemplo: genero-altura (genero e altura representam duas variáveis no banco de dados) 
 Listar todas as variávies que começam com popul: popul* 
 Executar comando para todas as variávies: comando _all 
Exemplos: des _all ou su _all 
 
II. Trabalhar com os dados 
 
II.1. Carregar arquivos .dta 
 Carregar arquivo .dta: use caminho/nomearquivo.dta 
 Limpar a memória do Stata, ou retirar o bancode dados atual da memória (usar antes de importar um novo banco): clear 
 Trabalhar com apenas as primeiras 100 observações: use caminho/nomearquivo.dta in=1/100 
 Trabalhar com apenas as observações de um valor/categoria (i.e. homens): use caminho/nomearquivo.dta if sex==”homens” 
 
II.2. Ler um arquivo texto 
 Importar arquivo de texto (comma-delimitado): insheet using caminho/nomearquivo.txt, comma 
Substituir virgula com tab se o arquivo é tab-delimitado 
 Se os nomes de variáveis não estão incluidas usar: insheet var1 var2 var3 caminho/nomearquivo.txt 
 
II.3. Salvar arquivos 
 Salvar em formato de Stata (.dta): save caminho/nomearquivo.dta ou 
save caminho/nomearquivo.dta, replace (replace grava a nova versão sobre da original) 
 Salvar em formato de texto-delimitado: outsheet _all using caminho/nomearquivo.txt , comma (pode usar tab em vez de comma) 
 
Traduzido e adaptado de fonte orginal: dataninja.wordpress.com 
Contribuidores: Ronnie Babigumira, Jamie Cotta e Carolina de Souza Costa 
 
II.4. Descrever e resumir dados 
 Visualizar nomes e legendas de variáveis, e dados do livro de códigos que descreve o banco de dados: codebook 
 Listar informação sobre o livro de códigos para variáveis específicas: codebook variável ou codebook var1 var2 var3...etc. 
 Listar estatísticas univariadas para todos as variáveis: summarize ou sum ou su 
 Listar estatísticas univariadas para variáveis específicas: su var1 var2 var3 
 Listar os dados na memória: list 
 Listar todos os valores de var1: list var1 
 Listar todos os valores de var1 e var2 e somar os valores de var2: list var1 var2, sum (var2) 
 Listar casos 1 até 10 de var1: list var1 in 1/10 Pode-se ordenar a variável antes de listar (i.e. ordenar idade e listar os 5 mais jovens) 
 Listar casos 1 até 20 de var1, var2 e var3: list var1 var2 var3 in 1/20 
Listar qualquer caso: list in #obs (inserir # da observaçào) 
 Listar todas as variáveis começando com popul: list popul* 
 Listar casos condicionalmente: list varl if varl>20 
 
II.5. Organizar variáveis 
 Ordenar variável: sort variável 
 Retirar uma variável do banco de dados em uso: drop var1 var2 [if][options] 
 Manter variáveis no banco de dados em uso: keep var1 var2 [if][options] As variáveis não-especificadas serão eliminadas 
 Ordenar variáveis: order var5 var2 var8 var10 
 As variáveis listadas aparecerão primeiro na janela de variáveis, na ordem especificada. As outras ficarão na ordem original, após as listadas. 
 Ordenar variáveis alfabeticamente: aorder var5 var2 var8 (segue a mesma lógica acima) 
 
Traduzido e adaptado de fonte orginal: dataninja.wordpress.com 
Contribuidores: Ronnie Babigumira, Jamie Cotta e Carolina de Souza Costa 
 
II.6. Criar legendas 
 Criar uma legenda para um banco de dados: label data ”Legenda do banco” 
 Criar uma legenda para uma variável: label variable nomevaroriginal ”novonomevar” 
 Definir uma lista de associações de números inteiros e texto chamadas “value labels” (legendas de valores): 
label define “legendavalores” x “legenda1” y “legenda2” z “legenda3” 
Anexar uma legenda a valores a uma lista de variáveis: label values variável 
 Exemplo de comandos en sequência: 
 label variable pesc2008 “pescador em 2008” 
 label define pescador 1 “sim” 0 “não” 
 label values pesc2008 
 Visualisar uma lista de nomes das legendas de valores armazenadas na memória: label dir 
 Listar nomes e contúedo de legendas de valores na memória ou apenas variáveis especificadas: 
label list ou label list legendavalores legendavalores2 
 Gerar uma cópia de uma legenda de valores que existe: label copy legendavalores “novolegendavalores” 
Exemplo: 
label copy anos_escola “escolaridade” 
 Eliminar uma legenda: label drop legendavalores 
 Salvar legendas num arquivo .do: label save 
É útil para legendas de valores que não estão associadas a uma variável porque as legendas não são salvas com os dados. 
 
II.7. Adicionar idioma para legendas 
 Adicionar legendas em outro idioma como espanhol: label language es, new 
 Voltar ao idioma de legendas padrão: label language, default 
 Voltar a outro idioma de legendas (i.e. espanhol): label language es 
 
Traduzido e adaptado de fonte orginal: dataninja.wordpress.com 
Contribuidores: Ronnie Babigumira, Jamie Cotta e Carolina de Souza Costa 
 
II.8. Copiar e manipular variáveis 
 Gerar nova variável baseada numa variável existente (exemplos): 
gen x = y/10 ou gen x2= x^2 ou gen z=(x+y) if var1==1 & var2>100 
 Renomear variável= rename var1 “novonome_variavel” [if][options] 
 Clonar (cópiar) variável: clonevar novonomevar = nomevar [if] 
Este comando copia todas as propriedades da variável original (nome, tipo de armazenamento, valores, legendas, etc.) 
 Recodificar valores de variável (i.e. criando novos códigos para valores após copiar variável original): 
recode var1 (min/5=1) (6/max=2) ou recode var1 (.=1) if var2==1 ou recode var1 (1=2) (else=0) ou 
recode var1 var2 (1 2 = 1 "baixo") (3 = 2 médio) (4 5 = 3 "alto"), label(“novoclasse”) 
 Substituir valores: replace variável [if][options] Pode-se repetir comando até todos os valores de interesse serem substituidos 
Example 1: replace var1 = var1^2 
Example 2: 
replace var1 = 1 if (var1<=25) // 
replace var1 = 2 if (var1>25) & (var1<=50) // 
replace var1 = 3 if (var1>=51) & (var1<=75) // 
 
 
II.9. Agregar bancos de dados 
 Agregar (append) dois bancos semelhantes (i.e. bancos com variáveis idênticais digitados por pessoas diferentes): 
use banco1 
append using banco2 ou append using banco2, keep(var1 var 2 var5 var7 var8) 
save caminho/banco3 
 
II.10. Unir bancos de dados 
 Unir (merge) dois bancos diferentes que tem pelo menos uma variável em comúm: 
use banco1 
sort id (id representa a variável em comúm pela qual a unificação será realizada) 
save, replace 
clear 
use banco2 
sort id 
merge id using banco1 ou merge id using banco1, uniqmaster ou merge id using banco1, uniqusing 
save caminho/banco3 
 unique, uniqmaster, e uniqusing especificam que as variáveis nas quais a união será baseada identifiquem unicamente as observações. 
 uniqmaster identifica unicamente observações no banco que está aberto e não necesáriamente no banco “using” 
 uniqusing identifica unicamente observações no banco using e não necesáriamente no banco “master” 
 Para a maioria destas, deveria especificar apenas unique. unique é igual a especificar ambos uniqmaster e uniqusing. 
Traduzido e adaptado de fonte orginal: dataninja.wordpress.com 
Contribuidores: Ronnie Babigumira, Jamie Cotta e Carolina de Souza Costa 
 
II.11. Agrupar variáveis 
 Básico: 
collapse (sum) var3 var4 var5, by (var1 var2) 
 A soma dos valores de var3 var4 e var5 será gerada ao nível de var1 e var2. 
Exemplo: collapse (sum) rendafloresta rendaagric rendapesca, by (domicilio ano) 
 Avançada: 
collapse (count) var2 (sum) var3 (mean) var8 (p50) var9, by (var1) 
 A contagem dos casos de var2, a soma de valores de var3, a média de valores de var8 , e a mediana de valores de var9 serão geradas ao 
 nível de var1. . 
Exemplo: collapse (count)produtos (sum)rendafloresta (mean)rendabruto (p50)rendaliquido, by (domicilio) 
 
II.12. Realizar operações em todas as variáveis (loop over items) 
 Usar foreach para aplicar um comando a cada variável listada: 
Exemplo 1: 
foreach x of varlist v1 v2 v3 { 
recode `x’ (-99=.) 
} 
Pode usar também: foreach x in v1 v2 v3 
 Observe as aspas– a primeira e segunda são caracteres diferentes 
Exemplo 2: 
foreach v of varlist v1 v4 v7 v8 v9 { 
generate log`v’ = log(`v’) 
} 
 
II.13. Trabalhar com valores ausentes 
 Transformar valores ausentes (.) em valores númericos: mvencode variável mv(-999) [in][if][options]O número entre parenteses pode ser qualquer que não seja um valor válido para a variável 
 Transformar valores númericos em valores ausentes (.): mvdecode variável mv(-99) [in][if][options] 
 O número entre parenteses varia para cada banco de dados 
 
II.14. Gerar números aleatórios 
 Criar variável aleatória que contem números pseudo-aleatórios uniformamente distribuidos no intervalo [0,1) 
gen random = runiform() 
 Criar variável aleatória que contem números aleatórios normalmente distribuidos com média 0 e desvio padrão 1. 
gen normal = rnormal() 
 Outras opções: rbinomial(n,p) rchi2(df) rpoisson() rt(df) etc. 
 Caso nenhum banco de dados está na memória, podem ser criadas 100 observações: set obs 100 
 
Traduzido e adaptado de fonte orginal: dataninja.wordpress.com 
Contribuidores: Ronnie Babigumira, Jamie Cotta e Carolina de Souza Costa 
 
III. Ajuda 
 
III.1. Usar assistência On-line 
 Para ajuda com comandos específicos: help nomecomando 
 Para ajuda com o comando help: help 
 Para uma lista completa de tópicos de ajuda: help contents 
 Para obter todas as referências para um tópico, ambos on-line e no manual: 
lookup inserirtópico 
 Para aprender tudo sobre lookup, digitar: help lookup 
 
III.2. Usar tutoriais On-Line 
 Para executar um tutorial Stata num tópico específico: tutorial nomearquivo 
 Para uma lista completa de tutoriais Stata: tutorial contents 
 Exemplos de tutoriais: intro, tables, regress, logit, survival, ado

Continue navegando