Stata prend en charge plusieurs ensembles de données en mémoire ; chaque ensemble de données réside dans un cadre. Dans Stata 18, vous pouvez désormais travailler avec des variables provenant de différents cadres comme si elles existaient dans un seul.
Lorsque des ensembles de données sont liés, vous pouvez relier leurs cadres en utilisant la commande frlink pour identifier les variables qui font correspondre les observations du cadre actuel avec les observations du cadre lié.
Les variables alias, créées par la nouvelle commande fralias add, définissent des références à des variables dans des cadres liés. Ces variables occupent très peu de mémoire car les observations sont en fait stockées dans un autre cadre.
Stata traite les variables alias comme n’importe quelle autre variable de votre ensemble de données, à l’exception du fait que vous n’êtes pas autorisé à modifier leurs valeurs. Pour une variable alias donnée, si vous modifiez les valeurs de la variable correspondante dans le cadre lié, les valeurs modifiées sont automatiquement disponibles la prochaine fois que vous utiliserez la variable alias.
Voyons comment cela fonctionne
Nous avons deux fichiers, persons.dta et txcounty.dta, qui sont liés. persons.dta contient des données sur les personnes vivant au Texas, et txcounty.dta contient des données sur les comtés du Texas. La variable countyid identifie les comtés du Texas dans les deux ensembles de données.
Dans ce qui suit, nous chargeons les ensembles de données dans des cadres distincts – les données sur les personnes dans le cadre actuel et les données sur les comtés du Texas dans un nouveau cadre appelé txcounty.

Ces deux cadres contiennent chacun une variable nommée countyid qui identifie les comtés du Texas. Nous supposons que la valeur codée d’un comté texan donné est la même dans ces deux cadres.
Nous utilisons frlink avec la variable countyid pour relier les observations de la trame actuelle aux observations de la trame txcounty.
. frlink m:1 countyid, frame(txcounty) (all observations in frame default matched)
frlink crée une nouvelle variable qui fait correspondre les observations de l’image actuelle à celles de l’image liée. Dans cet exemple, la nouvelle variable est nommée d’après la base liée, txcounty, mais vous pouvez spécifier un nom différent en utilisant l’option generate().

Nous pouvons créer des variables alias une à la fois ou par groupes. Nous décidons d’utiliser *, un raccourci courant qui correspond à un ou plusieurs caractères dans les noms de variables, pour créer une variable alias pour chaque variable du cadre lié. Il n’y a qu’une seule variable (autre que countyid) dans le cadre lié, nous obtenons donc une nouvelle variable alias dans le cadre actuel.
.fralias add *, from(txcounty) (variable not aliased from linked frame: countyid) (1 variable aliased from linked frame)
Nous tapons fralias describe pour obtenir une description de toutes les variables alias dans le cadre actuel.

fralias describe a trouvé notre nouvelle variable alias et signale qu’elle s’appelle median_income ; sa variable cible est une variable float également nommée median_income qui réside dans le cadre nommé txcounty et qui est liée au cadre actuel via la variable txcounty.
Rappelons que les appels à describe ci-dessus indiquent que le cadre actuel contient 20 observations et que le cadre lié txcounty contient huit observations. L’empreinte mémoire de la variable aliasmedian_income consiste en deux caractéristiques de variable utilisées pour stocker le nom de la variable de liaison et le nom de la variable cible dans la base de sondage liée. Si, au lieu de créer un alias pour median_income, nous utilisons frget pour créer une copie de median_income dans la base de données actuelle, l’empreinte mémoire de la nouvelle variable float est de quatre octets pour chaque observation de la base de données actuelle. Pour une nouvelle variable double, l’empreinte mémoire est de huit octets pour chaque observation. Les variables alias créées par fralias add ont une empreinte mémoire fixe faible par rapport aux variables créées par frget.
Nous pouvons maintenant utiliser la variable alias median_income comme n’importe quelle autre variable, à condition de ne pas essayer de modifier ses valeurs. Résumons ses valeurs.

Supposons que nous devions modifier certaines valeurs de median_income. Nous modifions median_income dans le cadre txcounty. Ces modifications sont automatiquement disponibles pour la variable alias dans le cadre actuel.