Friday 10 March 2017

How To Merge Multiple Datasets In Stata Forex

AVIS: Le groupe de consultation IDRE Statistical migrera le site Web vers le WordPress CMS en février pour faciliter la maintenance et la création de nouveaux contenus. Certaines de nos anciennes pages seront supprimées ou archivées de sorte qu'elles ne seront plus conservées. Nous essaierons de maintenir les redirections afin que les anciennes URL continuent à fonctionner de la meilleure façon possible. Stata FAQ: Comment puis je fusionner plusieurs fichiers dans Stata Cette FAQ est basée sur une page développée par le programme d'assistant de statistique diplômé au Boston College. Nous sommes reconnaissants de leur permission de reproduire cette FAQ ici. Il n'est pas rare que des données, en particulier des données d'enquête, viennent dans de multiples ensembles de données (il existe des raisons pratiques de distribuer des ensembles de données de cette façon). Lorsque des données sont distribuées dans plusieurs fichiers, les variables que vous souhaitez utiliser sont souvent dispersées dans plusieurs jeux de données. Pour travailler avec des informations contenues dans deux ou plusieurs fichiers de données, il est nécessaire de fusionner les segments dans un nouveau fichier contenant toutes les variables avec lesquelles vous souhaitez travailler. Tout d'abord, vous aurez besoin de déterminer quelles variables vous avez besoin, et quels ensembles de données les contiennent, vous pouvez le faire en consultant le codebook. En plus de trouver les variables que vous voulez pour votre analyse, vous devez connaître le nom de la variable id. Une variable id est une variable qui est unique à un cas (observation) dans l'ensemble de données. Pour un individu donné, l'id doit être le même pour tous les jeux de données. Cela vous permettra de faire correspondre les données de différents ensembles de données à la bonne personne. Pour les données transversales, il s'agit généralement d'une seule variable, dans d'autres cas, il faut deux variables ou plus, ce qui est communément observé dans les données de panel où l'id de sujet et la date ou l'onde sont souvent nécessaires pour identifier de façon unique une observation. Pour que Stata fusionne les jeux de données, la variable id, ou les variables, devront avoir le même nom dans tous les fichiers. De plus, si la variable est une chaîne dans un ensemble de données, elle doit également être une chaîne dans tous les autres jeux de données, et la même chose est vraie pour les variables numériques (le type de stockage spécifique n'est pas important tant qu'ils sont numériques). Une fois que vous avez identifié toutes les variables dont vous avez besoin et que vous connaissez la ou les variables d'identification, vous pouvez commencer à fusionner les ensembles de données. Un exemple simple Une bonne première étape consiste à décrire nos données. Nous pouvons le faire sans ouvrir le fichier (ce qui peut être pratique si les fichiers sont très volumineux), tout ce que nous avons à faire est d'ouvrir Stata et d'émettre la commande. La commande de description nous donne beaucoup d'informations utiles, pour nos fins les choses les plus importantes qu'il montre est que l'identifiant de variable est numérique et que les données sont non triées (les données doivent être triées par la variable d'identification ou les variables afin de fusionner ). Nous notons également que les variables que nous voulons de ce jeu de données sont en fait dans le jeu de données. Nous voudrions faire ceci pour les trois de nos ensembles de données, mais pour économiser l'espace bien montrent seulement la sortie pour l'un des ensembles de données. Supposons que les ensembles de données sont tous unsorted et que la variable id a le même nom (id) dans les trois ensembles de données. Étant donné que les ensembles de données ne sont pas triés, nous devrons ouvrir chaque ensemble de données, le trier et enregistrer le jeu de données trié. Bien que nous puissions utiliser les données d'un site Web facilement dans Stata, nous ne pouvons pas l'enregistrer là bas. Notez donc que toutes les commandes d'utilisation tirent des jeux de données de notre site Web, mais les sauvegardent dans le répertoire d: données sur l'ordinateur des utilisateurs. La syntaxe ci dessous ouvre chaque dataset, le trie par id, puis l'enregistre dans un nouvel emplacement avec un nouveau nom. Si l'ensemble de données était déjà sur notre ordinateur, nous pourrions l'enregistrer au même endroit et, peut être même sous le même nom (en remplacement de l'ancien jeu de données), c'est le choix des utilisateurs. Ensuite, nous fusionnons les ensembles de données. La commande de fusion fusionne les observations correspondantes de l'ensemble de données actuellement en mémoire (appelé ensemble de données maître) avec celles provenant d'un jeu de données Stata différent (appelé ensemble de données) en observations uniques. En supposant que nous ayons data3 ouvert à partir de l'exécution de la syntaxe ci dessus, qui sera notre fichier de données de base. La première ligne de syntaxe ci dessous fusionne les données. Directement après la commande de fusion est le nom de la variable (ou variables) qui servent des variables d'identification, dans ce cas, id. Ensuite, l'argument en utilisant ceci indique à Stata que nous avons terminé la liste des variables id, et que ce qui suit sont les dataset à fusionner. Les noms sont répertoriés, avec seulement des espaces (pas de virgules, etc.) entre eux. (Notez que si les noms ou les chemins de vos ensembles de données contiennent des espaces, veillez à les insérer entre guillemets, c'est à dire.) La ligne de syntaxe suivante enregistre notre nouveau dataset fusionné. Notez que la fusion ne produit pas de sortie. Maintenant, nous pouvons jeter un oeil à notre ensemble de données nouvellement fusionné. Dans la sortie ci dessus, nous voyons le nombre de cas (200), ce qui est correct. Cela est important car les problèmes avec le processus de fusion conduisent souvent à trop peu, ou plus souvent, trop de cas dans le dataset fusionné. Nous voyons également une liste des variables, qui comprend toutes les variables que nous voulons. L'ensemble de données fusionné contient trois variables supplémentaires. Ces nouvelles variables sont fusionnées. Merge1 et merge2. La fusion d'ordres générera toujours au moins une variable supplémentaire nommée fusion. Lorsque plusieurs fichiers sont spécifiés lors de l'utilisation. La commande produira des variables de fusion supplémentaires, une pour chacun des jeux de données de la liste using (dans notre cas, merge1 et merge2). Ces variables nous indiquent l'origine de chaque observation dans l'ensemble de données, ce qui est utile pour vérifier que vos données ont fusionné correctement. Parfois, une observation ne sera pas présente dans un ensemble de données donné, cela ne signifie pas nécessairement que quelque chose a mal tourné dans le processus de fusion, mais c'est un autre endroit où l'on peut souvent trouver des indices sur ce qui pourrait avoir mal tourné dans le processus de fusion. Parce que dans cet exemple, tous les ensembles de données incluent tous les cas, et parce que la fusion est allé comme il se doit, les variables de fusion ne sont pas très intéressantes. Nous discuterons de ces variables plus en détail ci dessous, lorsque nous traiterons des ensembles de données où tous les cas ne sont pas présents dans tous les ensembles de données. Suppression de variables indésirables Il n'est pas rare de trouver qu'un grand jeu de données contient de nombreuses variables que vous n'allez pas utiliser dans votre analyse. Vous pouvez simplement laisser ces variables dans vos ensembles de données lorsque vous les fusionnez ensemble, cependant, il y a plusieurs raisons pour lesquelles vous ne souhaitez pas le faire. Tout d'abord, il ya une limite sur le nombre de variables Stata peut gérer. Dans Small Stata la limite est de 99, dans StataIC la limite est de 2.047 et dans StataSE et StataMP la limite est de 32.767. Ces limites peuvent être élevées, mais si vous fusionnez plusieurs jeux de données, chacun avec un grand nombre de variables, vous pouvez dépasser la limite pour votre type de Stata. La deuxième raison pour laquelle vous ne souhaitez peut être pas laisser des variables inutiles dans votre dataset est que chaque variable en mémoire utilise des ressources système supplémentaires. Quelques variables supplémentaires ne va pas faire de mal, mais si vous avez un grand nombre de variables indésirables, vous risquez de gaspiller les ressources système. Ci dessous nous montrons plusieurs méthodes pour éliminer les variables supplémentaires. Une option est que lorsque vous ouvrez les ensembles de données pour les trier, vous pouvez également éliminer les variables que vous n'avez pas l'intention d'utiliser. Selon qu'il est plus facile de répertorier les variables que vous voulez utiliser dans votre analyse ou d'énumérer les variables dont vous n'avez pas besoin, vous pouvez utiliser les commandes keep or drop. Il existe au moins une option supplémentaire, vous pouvez ouvrir les ensembles de données ne contenant que les variables dont vous avez besoin en mémoire. Si j'ai un ensemble de données contenant un certain nombre de variables, mais les seules variables dont j'ai besoin sont id et read. Je peux ajouter des noms de variable à ma commande d'utilisation comme montré dans la première ligne de syntaxe ci dessous. Cela est particulièrement utile avec les fichiers très volumineux qui nécessitent beaucoup de mémoire pour s'ouvrir. Une fois que vous avez ouvert le sous ensemble souhaité de variables, tout ce que vous avez à faire est d'enregistrer le sous ensemble de données sous un nouveau nom. Dans l'exemple ci dessus, le dataset2 contenait les variables suivantes: id, read, write, math, science et socst. Supposons que mon analyse ne nécessite que les variables de lecture et d'écriture. Les seules variables de dataset2 qui sont nécessaires sont les deux et l'ID de variable pour fusionner les données avec un autre jeu de données. Ci dessous sont des exemples du même type de préparation de données effectuée ci dessus, en utilisant chacune des techniques décrites. Ces techniques sont équivalentes, car elles produisent le même résultat final. L'efficacité de chaque technique varie selon la situation. Utilisation de keep pour sélectionner des variables: Utilisation de drop pour supprimer des variables indésirables: Ouverture d'un sous ensemble de données: Les variables de fusion La ou les variables de fusion créées par la commande de fusion sont faciles à manquer, mais sont très importantes. Comme indiqué ci dessus, ils nous indiquent de quel (s) dataset (s) provient chaque cas. Cela est important car un grand nombre de valeurs provenant d'un seul jeu de données peut suggérer un problème dans le processus de fusion. Cependant, il n'est pas rare que certains cas soient dans un jeu de données, mais pas un autre. Dans les données du panel, cela peut se produire lorsqu'un répondant donné n'a pas participé à toutes les vagues de l'étude. Il peut également se produire pour un certain nombre d'autres raisons. Par exemple, une femme interrogée peut apparaître dans le sous ensemble des données avec des informations démographiques, mais être totalement absente du sous ensemble de données avec des informations sur les femmes interrogées enfants, parce qu'elle n'a pas d'enfants. Parce que les cas qui ne sont pas présents dans tous les jeux de données ne sont pas nécessairement un problème, afin que les informations dans les variables de fusion soient utiles, vous devez savoir à quoi vous attendre si les jeux de données fusionnent correctement. Dans l'exemple ci dessus, où les mêmes 200 cas apparaissaient dans trois ensembles de données, je m'attendrais à voir 200 cas, tous issus des trois ensembles de données. S'il y a des cas manquants dans certains ensembles de données, je m'attends à voir un certain nombre de cas qui ne proviennent pas de tous les ensembles de données, mais je dois encore m'assurer qu'il n'y en a pas Ensembles de données. Le fait d'avoir un trop grand nombre ou la totalité des cas dans votre jeu de données fusionné provient d'un seul, ou seulement quelques uns des ensembles de données que vous avez fusionnés est un signe que la variable id ne correspond pas correctement aux ensembles de données. Cela est particulièrement courant lorsque la variable id est une chaîne. Ci dessous nous examinons un ensemble de données après la fusion pour voir si tout s'est déroulé comme prévu. La sortie ci dessous montre le fichier de description pour un ensemble de données data1m. dta, si l'on regarde le nombre d'observations (obs), nous voyons que le jeu de données contient seulement 197 cas, mais nous savons que l'étude dans son ensemble inclus 200 cas, donc nous savons qu'il ya Sont trois cas manquant entièrement de data1m. Ce sont des informations importantes si nous voulons interpréter correctement les variables de fusion plus tard. Enfin, nous trions les données et les enregistrons sous un nouveau nom. Pour économiser de l'espace, nous ne montrerons pas la sortie des deux autres ensembles de données (le code s'affiche ci dessous au cas où vous souhaitez l'exécuter). Supposons que lorsque nous exécutons décrire sur data2m et data3m, nous découvrons qu'ils sont également des cas manquants. Le dataset data2m contient 196 observations et le dataset3m contient 197. Il est possible que certains de ces cas manquent dans les trois ensembles de données (c. à d. Que les observations manquantes se chevauchent entre les ensembles de données), mais il est également possible que les 200 observations se produisent dans au moins un des Ensembles de données. Nous allons le découvrir une fois que nous fusionnerons les données. Une fois que nous avons examiné et trié les ensembles de données, nous pouvons les fusionner. La syntaxe ci dessous fait ceci, notez que la commande est la même que dans le premier exemple. Par défaut, Stata permettra aux cas de venir de l'un des trois ensembles de données. Il existe des options qui vous permettront de contrôler les ensembles de données dans lesquels les cas viennent, vous pouvez les découvrir en tapant l'aide de fusion (sans les guillemets) dans Stata. Comme précédemment, la commande de fusion a créé trois nouvelles variables fusionnées. Merge1. Et merge2. La fusion de variable donne des informations sur les cas présents dans l'ensemble de données maître, elle prend l'une des trois valeurs suivantes: L'observation est présente uniquement dans le dataset principal. NOTICE: Le groupe de consultation IDRE Statistical migrera le site Web au WordPress CMS en février pour Faciliter la maintenance et la création de nouveaux contenus. Certaines de nos anciennes pages seront supprimées ou archivées de sorte qu'elles ne seront plus conservées. Nous essaierons de maintenir les redirections afin que les anciennes URL continuent à fonctionner de la meilleure façon possible. Bienvenue à l'Institut de recherche et d'éducation numériques Aidez le Groupe de consultation Stat en donnant un cadeau Module d'apprentissage Stata Combinaison de données Ce module vous montrera comment combiner des fichiers dans Stata. Les exemples comprennent les fichiers d'ajout, la fusion d'une à une correspondance et la fusion d'un à plusieurs correspondants. Ajout de fichiers de données Lorsque vous avez deux fichiers de données, vous pouvez les combiner en les superposant les uns sur les autres. Par exemple, nous avons un fichier contenant des papas et un fichier contenant des mamans comme illustré ci dessous. Si nous voulions combiner ces fichiers en les superposant les uns sur les autres, nous pouvons utiliser la commande append comme indiqué ci dessous. Nous pouvons utiliser la commande list pour voir si cela fonctionne correctement. L'append fonctionnait correctement. Les papas et les mamans sont empilés ensemble dans un dossier. Mais, il ya un petit problème. Nous ne pouvons pas dire les papas de la mamans. Essayons de le faire encore, mais d'abord nous créerons une variable appelée momdad dans les papas et les mamans fichier de données qui contiendra le papa pour le dossier de données de papas et la maman pour le dossier de données de mamans. Lorsque nous combinons les deux fichiers ensemble, la variable momdad nous dira qui sont les mamans et les papas. Ici, nous faisons variable momdad pour le fichier de données papas. Nous sauvegardons le fichier appelant dads1. Ici, nous faisons variable momdad pour le fichier de données des mamans. Nous enregistrons le fichier appelant moms1. Maintenant, permet d'ajouter dads1 et moms1 ensemble. Maintenant, quand nous énumérons les données de la variable momdad montre qui sont les mamans et les papas. Fusionner la fusion Une autre façon de combiner les fichiers de données est la fusion. Dire que nous voulions combiner les papas avec le fichier de données faminc, avoir les informations papas et les informations de la famille côte à côte. Nous pouvons le faire avec une correspondance. Permet de jeter un coup d'oeil sur les pères et le fichier faminc. Nous voulons combiner les fichiers de données pour qu'ils ressemblent à ceci. Notez que la variable famid est utilisée pour associer l'observation du fichier pads à l'observation appropriée du fichier faminc. La stratégie pour fusionner les fichiers va comme ceci. 1. trier les papas sur famid et enregistrer ce fichier (l'appelant dads2). 2. Triez le faminc sur famid et enregistrez ce fichier (en le nommant faminc2). 3. utiliser le fichier dads2. 4. fusionner le fichier dads2 avec le fichier faminc2 en utilisant famid pour les faire correspondre. Voici les quatre étapes. 1. Trier le fichier pads par famid et le sauver comme dads2 2. Trier le fichier faminc par famid et le sauver comme faminc2. 3. Utilisez le fichier dads2 4. Fusionnez avec le fichier faminc2 en utilisant famid comme variable clé. Il semble que cela a fonctionné très bien, mais quelle est cette variable de fusion La variable de fusion indique, pour chaque observation, comment la fusion est allée. Cela est utile pour identifier les enregistrements incompatibles. Merge peut avoir une des trois valeurs 1 L'enregistrement contient des informations de file1 seulement (par exemple, un enregistrement dad2 sans enregistrement affin2 correspondant) 2 L'enregistrement contient des informations de file2 seulement (par exemple, un enregistrement faminc2 sans enregistrement dad2 correspondant. L'enregistrement contient des informations provenant des deux fichiers (par exemple, les enregistrements dad2 et faminc2 correspondent). Lorsque vous avez de nombreux enregistrements, tabulation de fusion est très utile pour résumer combien d'incompatibilité que vous avez. Notre cas, tous les enregistrements correspondent à la valeur de la fusion Était toujours 3. Un à plusieurs match fusionner Un autre type de fusion est appelé un un à plusieurs fusionner. Notre un à un fusionner les papas appariés et faminc et il y avait un un à un appariement des fichiers. Si nous fusionnons les pères avec Comme vous le voyez ci dessous, la stratégie pour la fusion de un à plusieurs est vraiment la même que la fusion de un à un. Enregistrer ce fichier comme dads3 2. trier les enfants sur famid et enregistrer ce fichier comme kids3 3. utiliser le fichier dads3 4. fusionner le fichier dads3 avec le fichier kids3 en utilisant famid pour les faire correspondre. Les 4 étapes sont présentées ci dessous. 1. Trier le fichier de données des pères sur famid et enregistrer ce fichier comme dads3. 2. Trier le fichier de données des enfants sur famid et enregistrer ce fichier comme kids3. 3. Utilisez le fichier dads3. 4. Fusionnez le fichier dads3 avec le fichier kids3 en utilisant famid pour les faire correspondre. Permet d'énumérer les résultats. Les résultats sont un peu plus faciles à lire si nous trions les données sur famid et naissance. Comme vous le voyez, il s'agit essentiellement de la même chose qu'une fusion un à un. Vous pouvez vous demander si l'ordre des fichiers sur l'instruction de fusion est pertinent. Ici, nous changeons l'ordre des fichiers et les résultats sont les mêmes. La seule différence est l'ordre des enregistrements après la fusion. Exemple de données d'appariement Exemples d'exemples de fusion de correspondance (un à un et un à plusieurs) Correspond au programme d'exemple de fusion Le contenu de ce site Web ne doit pas être interprété comme un endossement d'un site Web particulier, d'un livre ou d'un produit logiciel par le Université de Californie.


No comments:

Post a Comment