Comment attribuer une valeur numérique à une variable non numérique
3 participants
Page 1 sur 1
Comment attribuer une valeur numérique à une variable non numérique
Voilà la question d'une amie : "J'ai 7 pays et dans chaque pays, des communes (il peut y en avoir beaucoup beaucoup). J'ai une base où il y a :
pays
communes
annees
Ce que je veux c'est numéroter les communes. Pour les pays, il y a pays 1, 2, 3, 4, 5, 6, 7. Là, comme c'est une base globale, je ne peux pas avoir des communes de 1 à X à chaque pays, n'est-pas? Du coup, il faut numéroter de 1 à X (X= nombre de toutes les communes dans tous les pays). Après, si je ne m'intéresse qu'à un pays, je lui dirai, si pays 1...patati patata...
Êtes-vous d'accord?
Si oui, comment fait-on pour numéroter toutes les communes???"
La commande à utiliser dans ce cas est egen nom de la nouvelle variable numérique = group (nom de la variable des villages)
ATTENTION les noms de villages doivent être tous différents sinon le même chiffre sera attribué à plusieurs villages du coup quand vous déclarerez votre panel il y aura plusieurs observations du même village pour la même année. Stata vous mettra en garde par un petit "repeated time values within panel"
J'espère avoir été clair et que cette expérience puisse servir à d'autres...
pays
communes
annees
Ce que je veux c'est numéroter les communes. Pour les pays, il y a pays 1, 2, 3, 4, 5, 6, 7. Là, comme c'est une base globale, je ne peux pas avoir des communes de 1 à X à chaque pays, n'est-pas? Du coup, il faut numéroter de 1 à X (X= nombre de toutes les communes dans tous les pays). Après, si je ne m'intéresse qu'à un pays, je lui dirai, si pays 1...patati patata...
Êtes-vous d'accord?
Si oui, comment fait-on pour numéroter toutes les communes???"
La commande à utiliser dans ce cas est egen nom de la nouvelle variable numérique = group (nom de la variable des villages)
ATTENTION les noms de villages doivent être tous différents sinon le même chiffre sera attribué à plusieurs villages du coup quand vous déclarerez votre panel il y aura plusieurs observations du même village pour la même année. Stata vous mettra en garde par un petit "repeated time values within panel"
J'espère avoir été clair et que cette expérience puisse servir à d'autres...
catherine- Messages : 64
Date d'inscription : 18/11/2009
Age : 38
Localisation : Clermont-Ferrand
Re: Comment attribuer une valeur numérique à une variable non numérique
On obtient aussi le même résultat en utilisant la commande qui transforme une variable string (non-numérique) en variable numérique :
encode commune, gen (id_commune)
encode commune, gen (id_commune)
Marie-Ch- Messages : 77
Date d'inscription : 09/11/2009
Re: Comment attribuer une valeur numérique à une variable non numérique
Si tu veux donner une valeur numérique à une variable constituée de noms, tu peux aussi utiliser la variable encode. La commande te générera une nouvelle variable (numérique cette fois-ci) à laquelle sera attaché un label (correspondant à la valeur non-numérique de ta variable d'origine). C'est la même chose que la commande que tu conseilles mais tu as les labels en plus.
La commande est la suivante:
encode nom de ta variable à coder, gen(nouveau nom de variable)
Il faut bien vérifier qu'un même nom désigne bien qu'une seule commune.
EDIT: Grillé...
La commande est la suivante:
encode nom de ta variable à coder, gen(nouveau nom de variable)
Il faut bien vérifier qu'un même nom désigne bien qu'une seule commune.
EDIT: Grillé...
Sujets similaires
» Comment vs rejoindre?
» Comment s'inscrire au CERDI pour une thése de doctorat
» Données ménages - stata - comment passer de données en lignes à des données en colonnes?
» Comment s'inscrire au CERDI pour une thése de doctorat
» Données ménages - stata - comment passer de données en lignes à des données en colonnes?
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|