Estou no meu primeiro ataque com a Stata. Eu nunca usei isso até esta semana e estou tentando trabalhar com alguns exemplos. Eu tenho o seguinte conjunto de dados: criei a seguinte variável com o conjunto de dados correspondente para que eu pudesse usar a guia com todas as diferentes qualificações. Basicamente, existe uma maneira melhor de fazer isso: por exemplo, minha varlist pode ser arbitrariamente grande e fazer o que está acima é doloroso. Existe uma maneira de dizer reverter o seguinte para trabalhar através de múltiplas variáveis e dar uma única variável um valor solicitado 30 de maio 14 às 23:46 Você pode automatizar este processo? A resposta é Não, porque cada componente variável terá um sufixo exclusivo. Então, se você tem raceblack racehispnonw racewhite, por exemplo, você não pode processar as variáveis de educação e raça da mesma maneira. Você também terá etiquetas de valor únicas para atribuir a cada variável. Veja a segunda resposta abaixo. Dois outros problemas: lendo seu exemplo, parece que, para a educação, existem exatamente três categorias. Então você está inicializando para uma categoria inexistente. Seu tratamento das faltas é possivelmente incorreto. Você deixou a educação faltar se algum dos seus componentes estiver faltando. É possível que um entrevistador codifique corretamente uma das variáveis componentes como 1 e deixou os outros valores em branco (faltando) quando deveriam ter sido codificados 0. A educação para essa observação não deve ser definida como ausente. Heres minha idéia de código: abordagem automatizada 2017-06-02 Depois de declarar que o processo de criação e rotulagem de novas variáveis não pode ser automatizado, decidi tentar. Encontrei dois comandos no SSC que ajudam: Roger Newsons varlabdef e Daniel Kleins labvalch3. Ambos podem ser baixados a partir de Stata, p. ex. Ssc install varlabdef. Eu suponho, como no exemplo original, que cada nome de variável 0-1 é da forma rootsuffix e que exatamente uma das variáveis com a mesma raiz tem valor 1. O objetivo é criar uma nova variável para cada raiz com uma Valor que corresponde à ordem da variável indicador (se houver) com o valor 1. O usuário primeiro cria uma macro local que contém todas as raízes. O programa acompanha as raízes, com uma variável criada em cada passagem, um loop interno implementa a solução Nicks (B). O varlabdef cria rótulos de valor a partir dos nomes dos indicadores originais e o labvalch3 tira todos, exceto o sufixo, e capitaliza cada item. Esse rótulo de valor é então atribuído à nova variável com uma declaração de valores de etiqueta. Fora do loop, as novas variáveis recebem rótulos variáveis com variável de rótulo. No exemplo a seguir, existem duas raízes, educação e gênero. As variáveis com gênero de raiz, por exemplo, são gendermale e genderfemale. Um novo gênero variável é inicializado, depois atribuiu valores 1 para homens e 2 para mulheres. Um rótulo de valor correspondente (também chamado de gênero) é definido e associado à nova variável, e a variável em si é rotulada como Sexo. Os resultados são: além de Steve Samuels excelentes sugestões, três dispositivos padrão neste território são A. Usando recode. Confira sua ajuda. (Que funciona se e somente se, no máximo, um indicador for 1) C1. O código acima é uma declaração. O layout é apenas para ajudar a tornar a estrutura visível. C2. Assim como na álgebra elementar, cada parêntese esquerdo (implica uma promessa de combiná-lo com um parêntese direito). Aninhamento de chamadas para cond () não altera isso. Eu tenho observações que listam códigos criminais como variáveis de string, mas não no formato que eu preciso. Usando o Stata 12, eu quero substituir algumas substrings em uma variável de string. Por exemplo, preciso alterar todas as instâncias de CC para 18. VC para 75. e PC para 35. Assim, os caracteres que eu preciso mudar são sempre no começo. Algumas variáveis originais não precisam ser alteradas. Eu tentei descobrir isso usando o comando substring, mas eu simplesmente não consegui adaptar o código corretamente. Perguntou 22 de outubro às 23:39
No comments:
Post a Comment