Détails
Générer une variable fictive
J'ai des difficultés à générer les variables fictives suivantes dans R :
J'analyse des données de séries chronologiques annuelles (période 1948-2009). J'ai deux questions :
-
Comment puis-je générer une variable muette pour l'observation n° 10, c'est-à-dire pour l'année 1957 (valeur = 1 en 1957 et zéro sinon) ?
-
Comment générer une variable muette qui est nulle avant 1957 et prend la valeur 1 à partir de 1957 et jusqu'en 2009 ?
67
3
Une autre option qui peut mieux fonctionner si vous avez beaucoup de variables est
factor
etmodel.matrix
.Cela comprendra une colonne d'interception (tous les uns) et une colonne pour chacune des années de votre ensemble de données, sauf une, qui sera la valeur par défaut ou d'interception.
Vous pouvez changer la façon dont la valeur par défaut est choisie en modifiant
contrasts.arg
dansmodel.matrix
.De plus, si vous voulez omettre l'intercept, vous pouvez simplement laisser tomber la première colonne ou ajouter
+0
à la fin de la formule.J'espère que cela vous sera utile.
La manière la plus simple de produire ces variables fictives est la suivante :
Plus généralement, vous pouvez utiliser
ifelse
pour choisir entre deux valeurs en fonction d'une condition. Ainsi, si au lieu d'une variable fictive 0-1, vous vouliez, pour une raison quelconque, utiliser 4 et 7, vous pourriez utiliserifelse(année == 1957, 4, 7)
.Ce que je fais normalement pour travailler avec ce genre de variables fictives est :
(1) comment puis-je générer une variable muette pour l'observation n°10, c'est-à-dire pour l'année 1957 (valeur = 1 en 1957 et zéro sinon).