Baixe o app para aproveitar ainda mais
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
Compartilhar