Estou tentando criar variáveis dummy em Stata que são 1 se alguma das variáveis dx1 a dx25 começar com uma string específica. Eu sei que posso fazer isso usando algo como o seguinte, mas para todas as 25 variáveis dx: eu criaria outros dummies iguais a 1 se algum dos dx s começasse com estes: eu tentei descobrir um estilo mais eficiente e elegante Maneira de fazer isso. Exemplo de estrutura de dados (vou manter isso para dx1 através de dx5 aqui por motivos espaciais): pediu 16 de junho 14 às 2:12 Primeiro tentei fazer as coisas funcionarem. Depois disso, se é muito ineficiente para as minhas necessidades (e às vezes, se esteticamente desagradável), tento resolver as coisas de uma maneira diferente. Seguindo sua linha de pensamento, por que não tentar loops: Estou usando as cordas de interesse para nomear as variáveis do indicador (você as chama de manequim). Como algumas cordas fariam nomes ilegais da Stata, eu uso a função strtoname (). Esta convenção de nomeação não é obrigatória, é claro. Há mais avaliação do que realmente é necessária, mas pode ser suficiente como está. Para cada elemento da li local. Não é necessário fazer mais avaliação após a primeira substituição ser executada. Mas o código verifica todas as variáveis dx. Talvez haja uma maneira melhor de alcançar seu resultado final, mas você não diz o que é isso. Isso parece ser apenas um passo intermediário. Execute help ltcommandorfunctiongt para detalhes sobre sintaxe específica. (Observe que em sua publicação original é mais eficiente do que porque o Stata não precisa verificar se a condição é preenchida para cada observação no banco de dados. Ele simplesmente enumera as primeiras 20 observações.) Um pouco de comandos para trabalhar com strings no stata 8 Às vezes, você encontra um conjunto de dados com uma variável de identificação que possui vários fragmentos de informações juntos e que deseja separar. Um bom exemplo é a chamada variável statecd que combina um código de estado e um número de distrito em um identificador de quatro dígitos. Aqui está uma maneira de desembalar isso na Stata. Faça a versão de uma string do código variável gen str4 wrk string (statecd) Faça uma variável para os códigos de estado Preencha os códigos de estado para estados com códigos de estado de 2 dígitos substitua o estado substr (wrk, 1,2) se statecd999 Preencha Os códigos de estado para estados com códigos de estado de 1 dígito substituem o estado substr (wrk, 1,1) se statecd
No comments:
Post a Comment