Com 400.000 observações no arquivo principal e 300 no arquivo de referência, leva cerca de 1,5 minutos. Eu não posso testar isso com o dobro das observações no arquivo principal porque a falta de RAM leva meu computador a uma rastreabilidade. A estratégia envolve a criação de tantas variáveis quanto necessário para manter as latitudes e longitudes de referência (2714 1084 no caso OPs Stata IC e up podem lidar com isso. Veja os limites de ajuda). Isso requer algum remodelamento e adição. Então, verificamos as observações do grande arquivo de dados que atendem às condições. A função inrange () implica que os mínimos e máximos devem ser ajustados de antemão para satisfazer as desigualdades estritas dos POs (a função testa lt). Provavelmente, uma expansão usando expandir. Uso de correlativos e por (assim os dados estão em forma longa) poderiam acelerar as coisas. Não está totalmente claro para mim agora. Tenho certeza de que existem melhores maneiras no modo Stata simples. Mata pode ser ainda melhor. (Joinby também foi testado, mas novamente RAM foi um problema.) Fazer cálculos em pedaços em vez de para o banco de dados completo, melhora significativamente a questão da RAM. Usando um arquivo principal com 1,2 milhão de observações e um arquivo de referência com 300 observações, o seguinte código faz todo o trabalho em cerca de 1,5 minutos: você pergunta se suas desigualdades estão corretas. Eles são de fato legais, o que significa que a Stata não vai reclamar, mas o resultado provavelmente é inesperado. O resultado a seguir pode parecer surpreendente: como é que a expressão é considerada verdadeira (ou seja, 1). Stata primeiro avalia 66,11 lt 100 o que é verdade, e então vê 1 lt 67,93, o que também é verdade, é claro. A expressão pretendida foi (e Stata agora fará o que quiser): Você também pode confiar na função inrange (). O exemplo a seguir é consistente com a explicação anterior: o Stata vê 66.11 lt 100 o que é verdadeiro (ou seja, 1) e segue com 1 lt 0. o que é falso (isto é, 0). Eu tentaria evitar preservar e restaurar o arquivo grande, e fazer isso é possível, mas à custa da perda do formato Stata. Usando a mesma configuração que Roberto e Dimitriy fizeram, Time it in your machine. Você poderia evitar e manter o único outfile dentro do ciclo, mas seria menos legível. Você pode então infiltrar lat lon usando data. csv, desmarque mais tarde. Se você realmente precisa dos arquivos Stata adequados, você pode converter esse enxame de arquivos CSV com Time it também. Eu protegi a gravação, pois alguns dos conjuntos de dados simulados estavam vazios. Eu acho que isso foi mais rápido do que 1,5 min na minha máquina, incluindo a conversão. 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 Pesquisas Digitais e Educação Ajude o Grupo de Consultoria Estatal, dando um presente Módulo de Aprendizagem Stata Dados de subconjuntos Este módulo mostra como você pode subconjunto de dados em Stata. Você pode subconetar dados, mantendo ou descartando variáveis, e você pode subconjunto de dados, mantendo ou soltando observações. Você também pode subconetar dados à medida que usa um arquivo de dados se estiver tentando ler um arquivo que seja muito grande para se ajustar à memória no seu computador. Mantendo e soltando variáveis Às vezes você não quer todas as variáveis em um arquivo de dados. Você pode usar os comandos keep and drop para variáveis de subconjuntos. Se pensarmos em seus dados como uma planilha, esta seção irá mostrar como você pode remover colunas (variáveis) de seus dados. Vamos ilustrar isso com o arquivo de dados automático. Podemos usar o comando de descrição para ver suas variáveis. Suponha que queremos apenas fazer mpg e preço. Podemos manter apenas essas variáveis, como mostrado abaixo. Se emitimos o comando de descrição novamente, vemos que, de fato, essas são as únicas variáveis restantes. Lembre-se, isso não alterou o arquivo no disco, mas apenas a cópia que temos na memória. Se salvamos este arquivo, ligue-o automaticamente. Isso significaria que substituiria o arquivo existente (com todas as variáveis) com este arquivo que apenas fez. Mpg e preço. Com efeito, perderíamos permanentemente todas as outras variáveis no arquivo de dados. É importante ter cuidado ao usar o comando save após ter eliminado as variáveis, e é recomendado que você salve esses arquivos em um arquivo com um novo nome, por exemplo, Salve o auto2. Mostra como usar o comando drop para soltar variáveis. Primeiro, vamos limpar os dados na memória e usar o arquivo de dados automático. Talvez não estejamos interessados nas variáveis displ e gearratio. Podemos livrar-se deles usando o comando drop mostrado abaixo. Novamente, o uso de descrever mostra que as variáveis foram eliminadas. Se quisermos tornar esta mudança permanente, poderíamos salvar o arquivo como auto2.dta como mostrado abaixo. Mantendo e soltando observações O anterior mostra como usar as variáveis keep and drop para eliminar variáveis do seu arquivo de dados. O manter se e soltar se comandos podem ser usados para manter e soltar observações. Pensando em seus dados como uma planilha, o manter se e soltar se comandos podem ser usados para eliminar linhas de seus dados. Vamos ilustrar isso com os dados automáticos. Permite usar o arquivo automático e limpar os dados atualmente na memória. A variável rep78 tem valores de 1 a 5, e também possui alguns valores faltantes, conforme mostrado abaixo. Podemos querer eliminar as observações que têm valores faltantes usando a queda se, como mostrado abaixo. A porção após a queda, se especifica quais as observações que devem ser eliminadas. O uso do comando tabular novamente mostra que essas observações foram eliminadas. Podemos tornar esta alteração permanente ao usar o comando save para salvar o arquivo. Vamos ilustrar usando manter se para eliminar as observações. Primeiro, limpe o arquivo atual e use o arquivo de dados automático. O comando keep if pode ser usado para eliminar observações, exceto que a parte após o keep se especifica quais observações devem ser mantidas. Suponha que queremos manter apenas os carros que tiveram uma classificação de reparação de 3 ou menos. A maneira mais fácil de fazer isso seria usar o comando keep if, conforme mostrado abaixo. O comando tabular mostra que isso foi bem sucedido. Antes de passar para a próxima seção, vamos limpar os dados que estão atualmente na memória. Selecionando variáveis e observações com quotusequot As seções acima mostraram como usar keep. solta . Mantenha se. E solte se para eliminar variáveis e observações. Às vezes, você pode querer usar um arquivo de dados que seja maior do que você pode caber na memória e você deseja eliminar variáveis e ou observações à medida que você usa o arquivo. Isso é ilustrado abaixo com o arquivo de dados automático. Selecionando variáveis. Você pode especificar apenas as variáveis que deseja inserir no comando de uso. Por exemplo, vamos usar o arquivo de dados automático apenas com preço e mpg. O comando de descrição nos mostra que isso funcionou. Limite os dados antes do próximo exemplo. Suponhamos que queremos apenas trazer as observações onde rep78 é 3 ou menos. Podemos fazer isso como mostrado abaixo. Podemos usar tabulações para verificar se isso funcionou. Limite os dados antes do próximo exemplo. Vamos mostrar outro exemplo. Permite ler apenas os carros que tiveram uma classificação de 4 ou superior. Vamos verificar isso usando o comando tabular. Limite os dados antes do próximo exemplo. Você pode eliminar as variáveis e as observações com o comando de uso. Deixe de ler apenas faça o preço mpg e rep78 para os carros com um registro de reparação de 3 ou inferior. Vamos verificar isso usando descrever e tabular. Limite os dados antes do próximo exemplo. Observe que o pedido de if e using é arbitrário. Vamos verificar isso usando descrever e tabular. Dê uma olhada neste comando. Você acha que vai funcionar. Você vê, o rep78 não era uma das variáveis lidas, então não poderia ser usado na parte if. Para usar uma variável na parte if, deve ser uma das variáveis que é lida. Usando o Keepdrop para eliminar as variáveis, continue fazendo o preço mpg drop displ gearratio Usando keep ifdrop if para eliminar observações drop if missing (rep78) keep if ( Rep78 lt 3) Eliminando variáveis e ou observações com uso use faça o mpg price rep78 usando auto use auto se (rep78 lt 3) use make mpg price rep78 usando auto if (rep78 lt 3) 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