Comment attribuer une valeur numérique à une variable non numérique

Voir le sujet précédent Voir le sujet suivant Aller en bas

Comment attribuer une valeur numérique à une variable non numérique

Message  catherine le Ven 5 Fév - 12:58

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...
avatar
catherine

Messages : 64
Date d'inscription : 18/11/2009
Age : 31
Localisation : Clermont-Ferrand

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Comment attribuer une valeur numérique à une variable non numérique

Message  Marie-Ch le Ven 5 Fév - 14:04

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)

Marie-Ch

Messages : 77
Date d'inscription : 09/11/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Comment attribuer une valeur numérique à une variable non numérique

Message  Fred le Ven 5 Fév - 14:14

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é...
avatar
Fred
Admin

Messages : 370
Date d'inscription : 17/11/2009
Age : 33
Localisation : Doctorant

Voir le profil de l'utilisateur http://themanwhobloggedtheworld.blogspot.com/

Revenir en haut Aller en bas

Re: Comment attribuer une valeur numérique à une variable non numérique

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum