Quelle est la différence entre gen et egen dans Stata 12?
Est-il une raison pour laquelle il existe deux types de commandes pour générer une nouvelle variable?
Est-il un moyen simple de se rappeler lors de l'utilisation de gen
et quand utiliser egen
?
source d'informationauteur max
Vous devez vous connecter pour publier un commentaire.
Ils à la fois de créer une nouvelle variable, mais le travail avec les différents ensembles de fonctions. Généralement, vous utiliserez
gen
quand vous avez des transformations simples d'autres variables dans votre ensemble de données commeDans mon flux de travail,
egen
apparaît généralement quand j'ai besoin de fonctions qui fonctionnent sur toutes les observations, comme dansou plus complexes des instructions
pour calculer le maximum pour chaque observation entre
oldvar1
etoldvar2
. Je ne pense pas qu'il y est une logique claire pour séparer les deux commandes.gen
generate
peut être abrégé pargen
ou mêmeg
et peut être utilisé avec les opérateurs mathématiques suivants et fonctions:+
plus-
soustraction*
multiplication/
division^
puissanceUn grand nombre de fonctions est disponible. Voici quelques exemples:
abs(x)
valeur absolue de xexp(x)
antilog de xint(x) or trunc(x)
troncature à valeur entièreln(x), log(x)
logarithme naturel de xround(x)
arrondit à l'entier le plus proche de xround(x,y)
x arrondi dans les unités de y (c'est à dire, round(x,.1) arrondi à une décimale)sqrt(x)
racine carrée de xruniform()
retourne uniformément distribué des nombres entre 0 et près de 1rnormal()
retourne chiffres qui suivent une distribution normale standardrnormal(x,y)
retourne chiffres qui suivent une distribution normale avec une moyenne de x et d'un s.d. de yegen
Un certain nombre de possibilités complexes ont été mis en œuvre dans le
egen
de commande comme dans les exemples suivants:egen nkids = anycount(pers1 pers2 pers3 pers4 pers5), value(1)
egen v323r = rank(v323)
egen myindex = rowmean(var15 var17 var18 var20 var23)
egen nmiss = rowmiss(x1-x10 var15-var23)
egen nmiss = rowtotal(x1-x10 var15-var23)
egen incomst = std(income)
bysort v3: egen mincome = mean(income)
Description détaillée de l'utilisation des explications peuvent être trouvées à ce lien.