Friday 24 March 2017

Delete Missing Data In Stata Forex


Brian Albert Monroe ist ganz richtig, dass jeder, der dropmiss (SJ) verwendet, es zuerst installieren muss. Da es Interesse an verschiedenen Möglichkeiten zur Lösung dieses Problems gibt, werde ich noch eine hinzufügen. Obwohl es ein Kommentar unter Brians Antwort sein sollte, werde ich hier einen Kommentar hier hinzufügen, da (a) dieses Format besser geeignet ist, Code (b) zu sehen, der Kommentar folgt aus meinem Code oben. Ich bin damit einverstanden, dass unab ist ein nützliches Kommando und haben oft in der Öffentlichkeit gelobt. Hier ist es jedoch unnötig, da Brians-Loops leicht so etwas wie UPDATE September 2015 starten könnten: Siehe statalist. orgforumsforumgeneral-stata-discussiongeneral1308777-missings-now-available-from-ssc-new-program-for-management-missings für informationen Missings Die von dem Verfasser der beiden als eine Verbesserung auf dropmiss. Die Syntax, um Beobachtungen nur dann fallen zu lassen, wenn alle Werte fehlen, ist die Fehlertropfen. Antwort # 1 am: August 14, 2010, 07:39:25 am »Nur ein anderer Weg, es zu tun, die Sie entdecken, wie flexible lokale Makros sind ohne Installation nichts extra zu Stata hilft. Ich sehe selten Code mit Locals speichern Befehle oder logischen Bedingungen, obwohl es oft sehr nützlich ist. Jetzt dropmiss kann bequem sein, sobald Sie heruntergeladen und installiert haben, aber wenn Sie schreiben eine Datei tun, um von jemand anderem verwendet werden, wenn sie auch dropmiss installiert haben, wird Ihr Code nicht auf ihrer Maschine zu arbeiten. Mit diesem Ansatz, wenn Sie die Zeilen der Kommentare und die beiden unnötigen Listen-Befehle zu entfernen, ist dies eine ziemlich spärlich 5 Zeilen Code, die mit Stata aus dem Feld laufen wird. Antwort # 1 am: August 31, 2010, 06:03:14 am »quotlocal Variablesquot in Ihrem Text sollte quotlocal macrosquot lesen. Stata39s (12) für Zeichen für ein Makro ist: 8,681 (klein), 165,200 (IC) und 1,081,511 (MPSE). Das ist genug, um ein paar Variablennamen zu halten. Hilfe Limits ist hier der Hinweis. In Ihrem Beispiel enthält r (varlist) alle Variablennamen. Sie müssen nur display quotr (varlist) 39quot ausführen (beachten Sie die Anführungszeichen). Ndash Roberto Ferrer Aug 8 14 um 1:39 Als Seitenhinweis: Wenn Sie sich auf alle Variablen im Datensatz beziehen möchten, können Sie alle verwenden. Zum Beispiel, foreach vname von varlist alles, was ich denke, es ist immer noch wichtig zu beachten, dass der Punkt, den ich zunächst war, dass lokale Makros logische Bedingungen zu speichern. In vielen Datensätzen, in denen der Dataset aus Umfragen abgeleitet wird, werden fehlende Daten oft als -9 oder -99 zurückkodiert, auch eine Antwort von quotI don39t knowquot kann als -33 aufgezeichnet werden. Oft ist es sinnvoll, diese Daten für bestimmte Analysen zu löschen, wobei fehlende () unzureichend sind. Der angezeigte Code I kann hierzu leicht modifiziert werden. Ndash Brian Albert Monroe Aug 8 14 um 20: 40Stata: Datenanalyse und statistische Software 1. Das Problem habe ich Panel-Daten (oder Längsschnittdaten oder Querschnittszeitreihen-Daten) mit fehlenden Werten. Ich möchte alle Beobachtungen am Anfang oder Ende jedes Panels fallenlassen, die nur fehlende Werte enthalten. Wie mache ich dies 2. Beispiel und Analyse des Problems Lassen Sie uns klar sein, was das Problem ist. Mit Paneldaten haben wir ein oder mehrere Panels mit Bezeichnern und einer Zeitvariable. So könnte eine Tafel aussehen Hier haben wir fehlende Werte am Anfang von Tafel 1 und am Ende von Tafel 2. Um Speicher zu sparen, vor allem mit einer großen Datei, möchten wir vielleicht Zauber von fehlenden Werten am Anfang von jedem fallen lassen Panel, am Ende oder beides. Außerdem können fehlende Werte in der Mitte jedes Panels auftreten, dh in Beobachtungen, die nicht zu Blöcken am Anfang oder am Ende benachbart sind. Daher ist die Antwort definitiv nicht, weil einer dieser fehlenden Werte in der Mitte eines jeden Panel, die zu weit gehen würde fallen würde. Das ist, was dieses Problem seine Torsion gibt. Für das Folgende übernimmt missing () den Wert 1 für true, wenn sein Argument fehlt und der Wert 0 für false, andernfalls. Es kann mi () abgekürzt werden. Auch mi () negiert oder kehrt die Abbildung: mi (.) Ist 0, da fehlt nicht (nicht fehlt), und mi (42) ist 1, da 42 nicht fehlt. 3. Identifizierung der Art der Lösung Für viele derartige Probleme gibt es eine einfache Stata-Lösung, die wir Ihnen in einem Augenblick natürlich offenbaren werden. Noch wichtiger ist jedoch, wie Sie die Lösung für diese und ähnliche Probleme selbst erarbeiten können. Zwei Elemente sind sofortig. Zunächst ist hier die Panelstruktur entscheidend. Separat für jedes Panel, müssen wir alle Zauber der fehlenden Werte am Anfang oder Ende des Panels zu identifizieren. Für erfahrene Benutzer von Stata sollte dies vorschlagen, die Dinge von varlist tun:. Hier bei id:. Weitere Informationen zur Syntax finden Sie unter. Lesen Sie die Abschnitte im Handbuch durch durch:. Oder lesen Sie das Tutorial in Cox (2002). Was auf den ersten Blick seltsam scheinen mag, ist, dass hier absolut kein Looping nötig ist. Viele Stata-Nutzer, vor allem, wenn sie viel Erfahrung mit Loops in anderen Sprachen haben, neigen dazu, über solche Probleme in Bezug auf Looping über die Panels und dann über die Zeiten in jedem Panel denken, aber in diesem Fall und in vielen anderen, einfacher und Schneller Code vermeidet alles. Genauer gesagt, kann Code gefunden werden, die die Schleife implizit, mit allen Details verwaltet für Sie. Zweitens ist die Sortierreihenfolge innerhalb von Panels entscheidend. Wir müssen Werte durchführen, wobei wir die Reihenfolge der Zeitvariablen beachten. Obwohl wir über Panel-Daten sprechen, gehen wir davon aus, dass Sie Ihren Dataset als Panel-Daten an Stata mit tsset deklariert haben. Das ist oft eine gute Idee und schadet hier nicht, aber es ist irrelevant für das, was folgt. 4. Besondere Lösungen: Fehlende Werte am Anfang Eine Idee, um das Problem des Zauberspruchs von fehlenden Werten am Beginn eines jeden Panels zu beginnen, besteht darin, durch die Tafel zu gehen und eine laufende Zahl der bisherigen fehlenden Werte zu halten. Im ersten Panel unseres Beispiels wäre dies 1, 2, 2, 2, 3, 3, 3, 3, 3, 3. Um die laufende Zahl der bisherigen fehlenden Werte zu erhalten, Mi (Antwort)). Dies führt uns zu der Lösung Das schien wie ein Kaninchen aus einem Hut, so lassen Sie subtrahieren das Geheimnis. Wir wollen die Dinge nach Panel und Innen-Panel (innerhalb id) Beobachtungen müssen auf der Zeit variablen Zeit sortiert werden. Die alle teleskopiert werden können, so dass wir nur zu verstehen, wenn n sum (mi (Antwort)). Wir haben jede Beobachtung innerhalb eines Panels mit n identifiziert. Es gibt eine Überraschung, vielleicht: warum haben wir nicht Zeit nutzen. Was wohl der offensichtliche und natürliche Bezeichner sein kann Aus einem guten Grund: Obwohl in diesem Beispiel die Zeit variabel Zeit ist gut verhalten, gehen von 1 bis 10 ohne Lücken, gibt es keine Garantie, dass dies im Allgemeinen gilt. Für allgemeinen Code verwenden wir n. Entscheidend, unter durch varlist:. N wird innerhalb der durch varlist definierten verschiedenen Gruppen definiert. Also die Tafeln. Daher identifiziert n von 1 immer die erste Beobachtung in jedem Panel in der aktuellen Sortierreihenfolge dieses Panels, und hier wird nach der Zeit sortiert. Das ist was durch id (time), sort: sorgt dafür. Daher erhöht sich n in jedem Panel immer von 1 nach oben. Wenn das Bedienfeld mit fehlenden Werten beginnt, führt sum (mi (Antwort)) das gleiche aus. Sobald wir einen nicht mißverstandenen Wert treffen, sinkt die Summe (mi (Antwort)) unter n und bleibt darunter. Daher ist unser Kriterium für das Absinken von Werten n sum (mi (Antwort)). Wir können dies unter Berücksichtigung des umgekehrten Falles testen. Wenn die Tafel mit einem nicht-abweichenden Wert beginnt, beginnt die Summe (mi (Antwort)) bei 0, nämlich unter n. Die 1 ist, und sie kann niemals wieder n innerhalb dieser Tafel sein. Eine andere Möglichkeit, die gleiche Idee zu verwenden, besteht darin, Sätze in Form von sum (mi (Antwort)) zu formulieren. Das beginnt bei 0, wenn der erste Wert der Antwort fehlt (weil er nicht fehlt) und bleibt so lange, wie Werte fehlen. Er beginnt bei 1, wenn der erste Wert der Antwort tatsächlich nicht fehlt. Das Kriterium lautet: Wir bevorzugen diese Formulierung, obwohl es ein wenig rückständig erscheint, um das Problem in Bezug auf nicht-verpassende Werte zu formulieren. 5. Besondere Lösungen: Fehlende Werte am Ende Fehlende Werte am Anfang jedes Panels wurden in der Reihenfolge des Datensatzes als Ganzes gezählt, von der ersten Beobachtung bis zur letzten Beobachtung insbesondere, dies ist die Summe der Summensummen unter Verwendung von Summe ( ). Allgemeiner gesagt, arbeitet Stata immer in dieser Richtung, wenn nicht anders festgelegt. Für andere Anwendungen dieses Prinzips, siehe die FAQ Wie kann ich ersetzen fehlende Werte mit vorherigen oder folgenden nicht messenden Werten Wie kann ich ersetzen fehlende Werte innerhalb von Sequenzen Um Werte am Ende eines jeden Panel, müssen wir am Ende beginnen und arbeiten rückwärts . Bei weitem der einfachste Weg, dies zu tun ist nur um die Reihenfolge umzukehren innerhalb jedes Panel, und wenden Sie dann die gleiche Logik wie zuvor. Sie könnten die Sortierreihenfolge so ändern: Eine andere Möglichkeit ist, es mit gsort zu tun. So oder so, Sie in der Regel wollen, um die Sortierung aufzuräumen wieder vor anderen Arbeiten von einem einfachen tsset, wenn Sie einen tsset früher, von Für andere Verwendungen der umgekehrten Zeit Gerät, siehe die häufig gestellte FAQ. 6. Besondere Lösungen: Einsatz von egen Ein anderer Ansatz ist die Verwendung von egen. Was eine angenehm direkte Lösung ergibt. Das erste und das letzte Mal, bei dem die Antwort nicht fehlt, sind der Schlüssel zu diesem Ansatz ist es, egen, min () und egen zu realisieren, wobei max () Ausdrücke annehmen kann, wobei hier die cond () - Funktion verwendet wird, die entweder die Zeit bei der Antwort liefert Ist oder nicht fehlt. Wir nutzen die Tatsache, dass Stata Missverständnisse bei der Berechnung von Extremen ignoriert. Das erste und letzte Mal, das für ein Panel gemeldet wird, fehlen nur dann, wenn für dieses Panel immer Antwort fehlt, was wir sowieso wollen würden. Gegebene erste und letzte Mal, können Beobachtungen um eine Zeile fallengelassen werden Sie könnten auch wollen, um sowohl erste erstaunliche und lastnonmissing fallen, wenn sie keinen weiteren Zweck dienen. Eine stillschweigende Annahme ist, dass die Zeit innerhalb jedes Panels unterschiedliche Werte annimmt, was wahrscheinlich erscheint und in jedem Fall wesentlich ist, wenn tsset anzuwenden ist. In dem extremen Fall, in dem alle Werte der Antwort innerhalb einer Tafel fehlen, wird die Erstannahme als fehlend zurückgegeben und alle entsprechenden Beobachtungen werden fallengelassen, was gut ist. Cox, N. J. 2002. Sprechende Stata: Wie man Schritt um Schritt Schritt: Stata Journal. 2: 86ndash102.

No comments:

Post a Comment