Maarten L. Buis Perguntas frequentes sobre o código de exemplo enviado ao estatalista por Maarten Buis Ao postar mensagens para o estatal, eu costumo adicionar um código de exemplo. Normalmente, eu identifico o exemplo digitando-o entre: Esses exemplos geralmente contêm algumas linhas que não são centrais no ponto da publicação, mas fazem o exemplo funcionar. Por exemplo, estes podem ser alguns comandos de preparação de dados. Nessas linhas, costumo usar alguns truques ou atalhos que não explico. Nesta FAQ, discuto e explico o mais comum desses truques. Isso não é, de forma alguma, uma substituição das FAQ estatísticas. Isso é apenas para ajudar as pessoas a entender os exemplos que enviei para estatalistas. Tabela de conteúdo Como posso fazer o exemplo funcionar Por que você apenas dá a saída O que é sysuse auto, claro significa Por que você coloca as coisas por muito tempo. Duplo . Ou str8 entre nomes de variáveis quando você usa entrada Por que você recode rep78 12 3 Por que eu adiciono a linha de base da variável juntamente com a opção nocons O que gen rep3 rep78 3 se rep78 2 ao modelo. O que o ceil médio (x) ou o ceil (x) (x) sempre arredondam o número x até o próximo inteiro, enquanto o piso (x) sempre arredonda o número x até o número inteiro anterior. Então, ceil (6.1) 7 e ceil (6.9) 7. Enquanto o chão (6.1) 6 e o chão (6.9) 6. Isso permite alguns pequenos truques, como discutido nesta dica do Stata e nesta dica do Stata. O que significa mod (x, y) significa mod (x, y) retorna o restante ao dividir x por y. Então, mod (1,2) 1. Mod (2,2) 0. E mod (3,2) 1. Isso permite alguns truques legais como discutido nesta dica do Stata. De onde o N ou n vem. Às vezes é necessário conhecer o número total de observações ou o número de observação atual. Em Stata são chamados respectivamente N e n. Para ver mais esta entrada no site da ATS. No entanto, existe uma exceção: n dentro do comando de exibição (geralmente abreviado como di) significa: exibir uma nova linha em vez do número de observação atual. O que é bys var. Gen byte mark n 1 seguido por twoway. Se marca. Isso geralmente acontece quando eu quero traçar previsões e sei que essa previsão é a mesma para todas as observações que compartilham o mesmo valor de var. Se eu não fizesse isso, eu tramaria um marcador para cada observação, mesmo que muitos fossem sobrepostos um do outro e você não os veria. Isso tende a tornar os gráficos Stata grandes (em termos de memória) e lentos. Com este truque, evito isso, traçando apenas um marcador por valor exclusivo de var. Veja também esta dica do Stata. O que faz sqrt (5) ou N3 fazer Dentro de alguns comandos do Stata há opções que exigem que alguém dê um número, enquanto eu realmente quero dar uma expressão. Ao digitar a expressão como expressão. A expressão é avaliada e todo o Stata vê é o número que é o resultado da expressão, fazendo com que eu e Stata felizes. Observe o e o. Eles são necessários. O que faz: algo faz Uma maneira muito poderosa de manipular o conteúdo das macros é o uso das chamadas funções de macro estendidas. Por exemplo, se eu quiser remover elementos duplicados em um macro foo eu posso digitar Se tudo o que eu quero fazer é exibir os resultados, eu posso usar um atalho: o que significa 1e4 ou 2.1e-4 com muito grande ou muito pequeno Os números podem acabar digitando e (mis) contando muitos zeros. Às vezes evito isso digitando esses números em formato exponencial. Então, 1e4 é 1 x 10 4 10 000 e 2,1e-4 é 2,1 x 10 -4 0,00021. O que faz se rc significa que você pode deixar Stata ignorar erros em um comando e continuar prefixando-o com o comando de captura. A declaração se rc imediatamente após a captura significa fazer o que for seguido se não houver nenhum problema. A captura deixará para trás o escalar rc. Que contém o código de retorno. O código de retorno é o código atribuído às mensagens de erro. Por exemplo, r (198) ou r (505). O código 0 é reservado para nenhum problema. Na lógica Stata, o valor 0 é falso e nega uma declaração lógica. Então, se tudo correu, ok rc avaliará para 0, o que não é falso ou verdadeiro. Todos os valores não-zero são tratados como verdadeiros, então, se houvesse um problema do que o rc avaliará não verdadeiro ou falso. Veja também esta FAQ oficial da Stata. O que faz vecdiag (cholesky (diag (vecdiag (V))) significa que normalmente uso isso para criar um vetor de colunas contendo erros padrão. Para ser exato, esse comando cria um vetor de coluna contendo a raiz quadrada dos elementos diagonais da matriz. Os comandos de estimativa de stata geralmente armazenam a matriz de covariância de variância e não os erros padrão. Os elementos diagonais da matriz de covariância de variância são os erros padrão ao quadrado. Portanto, a raiz quadrada dos elementos diagonais desta matriz são os erros padrão. Hoje em dia, uso mais frequentemente o conjunto de truques discutidos nesta dica do Stata. O que os pontos fazem dentro de um loop pode-se usar o comando dots para exibir pontos que irão dizer o quão longe o ciclo avançou (e quanto tempo você terá que esperar até terminar). Para mais informações, veja esta dica do Stata. Por que algumas linhas terminam e a próxima linha começa com Se o Stata vê um retorno difícil, ele interpreta isso como o fim do comando. Alguns comandos ficam tão longos que não se encaixam em uma linha e você quer quebrar isso. Partindo o comando adicionando retornos rígidos é uma má idéia, uma vez que a Stata verá cada retorno difícil como o fim de um comando. Uma solução é comentar o retorno difícil. Os comentários são textos dentro de um arquivo do que são apenas para leitores humanos e são ignorados pela Stata. Uma maneira de identificar um texto como um comentário é colocá-lo entre e. A Stata ignorará qualquer coisa que esteja entre esses dois símbolos, incluindo retornos rígidos. Então, se você terminar uma linha e começar o próximo com. Stata vai pensar que está tudo em uma linha, então um comando. Uma alternativa é acabar com uma linha. Você pode encontrar mais sobre isso no Guia do Usuário capítulo 16.1.3 (U 16.1.3). Por que algumas linhas terminam é uma maneira de dividir um longo comando em várias linhas. Você pode encontrar mais sobre isso no Guia do Usuário capítulo 16.1.3 (U 16.1.3). O que delim e delim cr Algumas vezes eu quero embrulhar uma linha dentro de uma string. Por exemplo, estou fazendo um local que contém uma string muito longa. Agora não consigo usar a técnica na seção acima. Em vez disso, altero o delimitador para. Então Stata não considera mais uma entrada como um sinal do fim de um comando, mas continua lendo até ver um. Quando eu terminar com essa string, geralmente altero o delimitador de volta para retornar digitando delim cr. O que as linhas tempname b e scalar b. Estas duas linhas são usadas para armazenar um número no escalar b. É semelhante à digitação local b. . Exceto que um local é preciso com um mínimo de 11 dígitos decimais, enquanto um escalar é preciso para 15 ou 16 dígitos decimais. Veja o capítulo 18.5 (U 18.5) do guia do usuário, e esta publicação de Bill Gould. Eu uso escalares quando penso que a precisão numérica pode importar. O que faz tempfile às vezes é necessário ou conveniente armazenar alguns dados. No entanto, eu não quero manter isso, então eu costumo usar tempfile. Se eu digitar tempfile temp do que reserva o nome temp (note the and the), que posso usar quando eu armazeno dados. Esse conjunto de dados permanecerá disponível por tanto tempo, o arquivo do-arquivo será executado e será imediatamente removido assim que o arquivo do-do terminar. O que o programa de captura diminui. Às vezes é necessário ou conveniente criar um programa dentro de um arquivo do-do. Ao escrever o exemplo, muitas vezes (sempre) não entendo direito na primeira vez, então faço um arquivo de arquivo muitas vezes. A segunda vez que eu faço um arquivo de arquivo que cria um programa, a Stata vai reclamar, pois tentarei criar um programa que já existe. Então eu primeiro preciso deixar esse programa, antes que eu possa criá-lo novamente. Digamos que eu nomeei o programa prog. Do que eu deveria digitar programa drop prog. Antes de criar o programa. No entanto, se eu enviasse o exemplo desse tipo ao estatalista, que reclamaria pela primeira vez que um membro estatalista tentasse executar o exemplo, já que esse exemplo tentará soltar o programa prog que ainda não existe. É para isso que a captura do comando é para: isso garantirá que o Stata continuará funcionando, mesmo que o programa prog gire um erro. Eu poderia remover o prog de queda do programa de linha. E do que seria bom na primeira vez. No entanto, alguém receberia uma mensagem de erro se ela começar a jogar com o exemplo (qual é a melhor forma de entendê-la) e fazê-lo várias vezes. O que o programa deixa cair tudo isso Esta é uma solução alternativa ao problema discutido acima. Ele irá soltar todos os programas na memória de trabalho (ou seja, não tocar no disco rígido). Ao não nomeá-los explicitamente, evito o problema de que não existam programas para largar a primeira vez que alguém executa meu exemplo. NOTICE: O grupo de consultoria estatística IDRE estará migrando o site para o WordPress CMS em fevereiro para facilitar a manutenção e criação de novos conteúdos . Algumas de nossas páginas antigas serão removidas ou arquivadas de modo que elas não serão mais mantidas. Vamos tentar manter os redirecionamentos para que os URLs antigos continuem a funcionar da melhor maneira possível. Bem-vindo ao Instituto de Pesquisa e Educação Digital Ajudar o Grupo de Consultoria Estatal, dando um presente Módulo de Aprendizado Stata Usando IF com comandos Stata Este módulo mostra o uso de se com comandos Stata comuns. Permite usar o arquivo de dados automático. Para este módulo, vamos nos concentrar nas variáveis make, rep78, foreign, mpg e price. Podemos usar o comando Keep para manter apenas essas cinco variáveis. Vamos fazer uma tabela de rep78 por estrangeiros para analisar o histórico de reparos dos carros estrangeiros e domésticos. Suponhamos que queremos nos concentrar apenas nos carros com histórico de reparos de quatro ou melhores. Podemos usar se o sufixo para fazer isso. Vamos fazer a tabela acima usando as opções de coluna e nofreq. A coluna de comando solicita porcentagens de coluna enquanto o comando nofreq suprime as freqüências celulares. Note que colum n e nofreq vêm após a vírgula. Estas são opções no comando tabular e as opções precisam ser colocadas após uma vírgula. O uso de if não está limitado ao comando tabulate. Aqui, usamos isso com o comando de lista. Você viu que algumas das observações tinham um valor de 39. 39 para rep78. Estes são valores faltantes. Por exemplo, o valor de rep78 para o AMC Spirit está faltando. Stata trata um valor faltante como infinito positivo, o maior número possível. Então, quando dissemos a lista se rep78 gt 4, Stata incluiu as observações onde rep78 era. 39 também. Se quisermos incluir apenas as observações válidas (não faltantes) que são maiores ou iguais a 4, podemos fazer o seguinte para dizer a Stata que queremos apenas observações onde rep78 gt 4 e rep78 não estão faltando. Este código também produzirá a mesma saída que acima. Podemos usar se com a maioria dos comandos da Stata. Aqui, obtem estatísticas resumidas de preço para carros com histórico de reparos de 1 ou 2. Observe que o duplo igual () representa IS IGAL TO eo pipe () representa OR. Uma maneira mais simples de dizer isso seria. Da mesma forma, podemos fazer isso para carros com histórico de reparos de 3, 4 ou 5. Além disso, podemos usar esse código para designar uma variedade de valores. Aqui está um resumo do preço para os valores de 3 a 5 em rep78. Vamos simplificar isso, dizendo rep78 gt 3. Você viu o erro que cometemos Nós, acidentalmente, incluímos os valores perdidos, porque nós esquecemos de excluí-los. Nós realmente precisávamos dizer. Tomando uma amostra aleatória Também é possível tomar uma amostra aleatória simples de seus dados usando o comando da amostra. Esta informação pode ser encontrada na nossa página de Perguntas frequentes sobre STATA: como posso desenhar uma amostra aleatória dos meus dados. A maioria dos comandos do Stata podem ser seguidos por if. Por exemplo, resumir se rep78 é igual a 2 Resumir se rep78 for maior ou igual a 2 Resumir se rep78 maior do que 2 Resumir se rep78 menor ou igual a 2 Resumir se rep78 menos de 2 Resumir se rep78 não é igual a 2 Se expressões podem ser conectadas Com para o amplificador OU para AND Os valores ausentes são representados como 39. 39 e são o maior valor possível. Portanto, quando os valores estão faltando, tenha cuidado com comandos como para omitir valores faltantes, use O conteúdo deste site não deve ser interpretado como um endosso de qualquer site, livro ou produto de software específico da Universidade da Califórnia.
No comments:
Post a Comment