Tuesday 4 July 2017

Gen Dummy In Stata Forex


Mein Datensatz enthält die beiden Hauptvariablen X und Y. Variable X steht für verschiedene Computerelemente mit verschiedenen Marken für unterschiedliche Codes (z. B. 001X01, 001X02 usw.). Variable Y stellt die Steuer dar, die für jeden Code der Variablen X (z. B. 15 15 für 001X01) in einem Speicher berechnet wird. Ive erstellt Kategorien für diese Computer-Elemente mit Dummy-Variablen (z. B. HD-Dummy-Variable für Hard-Drives, nimmt Wert von 1, wenn Variable X stellt eine HD, etc.). Ich habe eine Liste von über 40 Variablen (zwei von ihnen repräsentieren X und Y. und der Rest ist ein Bündel von Dummy-Variablen für die verschiedenen Kategorien Ive für Computer-Elemente erstellt). Ich möchte die Mittelwerte aller dieser Kategorien mit einer Schleife in Stata anzeigen, aber Im nicht sicher, wie dies zu tun. Zum Beispiel der Code: gibt mir die mittlere Steuer für die Kategorie, die Festplatten darstellt. Wie kann ich eine Schleife in Stata verwenden, um automatisch alle Mittelwerte anzuzeigen, die für jede Kategorie aufgeladen werden. Ich würde es ohne Probleme mit der Hand machen, aber ich möchte diesen Vorgang für mehrere Jahre wiederholen, also würde ich gern eine Schleife verwenden Jahr, um mit dieser Ausgabe zu kommen. Mein Ziel ist es, eine separate Excel-Datei mit jedem der Computer-Kategorien Ive erstellt (38 gesamt) und die durchschnittliche Steuer für jede Kategorie nach Jahr zu erstellen. Fragte am 22. Februar 14 um 1:13 Warum Mühe mit der Schleife und die Erstellung der Indikatorvariablen Wenn ich richtig verstehe, erlaubt dein erster Datensatz die Verwendung eines einfachen Zusammenbruchs: Um nach Excel zu gelangen, kannst du exportieren Excel oder Excel setzen. Führen Sie Hilfe zusammenbrechen und helfen Sie exportieren für Details. Weil Sie darauf bestehen, ist unten ein Beispiel, das das gleiche Ergebnis mit Schleifen gibt. Ich nehme die gleiche Dateneingabe wie zuvor an. Einige Tests mit dieser Beispiel-Datenbank mit erweitern 1000000. zeigt, dass Geschwindigkeit ist fast gleich. Aber fast sicher. Sie (einschließlich Ihrer Zukunft Sie) und Ihre Leser bevorzugen Zusammenbruch. Es ist viel klarer, sauberer und prägnanter. Es ist noch hübscher. Stata hat Funktionen, die es ganz anders machen als andere Sprachen. Sobald Sie anfangen, sich zu fassen, werden Sie feststellen, dass viele Dinge mit Schleifen anderswo gemacht werden, können in Stata schlaufenlos gemacht werden. In vielen Fällen wird der letztere Stil bevorzugt. Siehe entsprechende Hilfedateien mit Hilfe ltcommandgt und wenn Sie nicht mit gespeicherten Ergebnissen vertraut sind (z. B. r (Mittelwert)), geben Sie Hilfe zurück. Vielen Dank für ihre Antwort. Meine Daten haben nicht wirklich die CATEG Variable, nur CODE Amp TAX, der Code beschreibt einen Artikel (zB hd) aber jeder Code ist einzigartig, obwohl sie zu der gleichen Kategorie gehören (also habe ich wie 50 verschiedene Codes - alle von ihnen Sind für Festplatten). Ich habe eine Dummy-Variablen zu quotcategorizequot die Elemente. Außerdem werde ich NICHT alle CODES verwenden, einige der Daten enthalten Computerteile, die mir nicht interessiert sind. Ndash user3339434 Feb 22 14 at 3:36 Collapse definitiv tut was I39m auf der Suche nach, ich muss nur einige kleinere Änderungen (z. B. Erstellen einer Kategorie Variable auf der Grundlage der Dummy-Variablen). Vielen Dank Roberto Ferrer. Ich würde immer noch gerne lernen, wie man Loops in einer Situation wie diese verwenden, wird jede Hilfe geschätzt werden. Ndash user3339434 Es gibt keinen Vorteil, Indikator zu erzeugen (du sagst Dummy) Variablen hier, wenn die gleiche Information bereits in deiner kategorischen Variablen X verfügbar ist (also warum du denkst, du musst es schaffen, ist nicht klar). Wie Roberto Ferrer darauf hinweist, wird hier keine Schleife benötigt, aber die verfügbare Schleifentechnik ist z. B. Statasupportfaqsdata-managementhellip ndash Nick Cox 22. Februar 14 um 13:40 Uhr Eine Ergänzung zu Robertos ausgezeichnete Antwort: Nach dem Zusammenbruch. Sie benötigen eine Schleife, um die Ergebnisse zu exportieren. Ich benutze gern numerische Codes für Variablen wie deine Variable. Ich ordne ihnen dann Wertschriften zu. Heres eine Version von Robertos-Code, die dies tut und die, für nähere Korrespondenz zu deinem Problem, fügt eine Jahr-Variable hinzu Der delim-Befehl macht es möglich, jeden Code auf einer separaten Zeile einfach aufzulisten. Die Label-Funktion in der Export-Anweisung ist eine erweiterte Makro-Funktion, um eine Wert-Label in den Dateinamen einzufügen. Antwortete am 22. Februar 14 um 17: 24 Ich versuche, eine Dummy-Variable für jedes Jahr von 1996 bis 2012 (einschließlich) zu generieren, so dass der 1996 Dummy gleich 1 sein sollte, wenn es 1996 und 0 ist, wenn sonst der foreach Befehl in Stata zu reduzieren Pünktlich (zumindest für zukünftige Projekte). Was derzeit geschieht, ist, dass der Dummy für das Jahr 1996 produziert wird, aber es werden keine anderen erzeugt. Ich denke, dass es damit zu tun hat, wie ich mich definiere. Aber ich kann nicht ganz herausfinden, die Formatierung, um die Ergebnisse zu erreichen, die ich will. Ich habe online und in den Stata-Hilfedateien gesucht und kann nichts zu diesem Thema finden. Hier ist was ich bisher habe: Ich werde es auch weiterhin versuchen, das auszudrücken, aber wenn jemand einen Vorschlag hat, wäre ich sehr dankbar. Fragte am 2. Mai 14 um 21:34 Schauen wir uns diese Zeile für Zeile an. Sie haben ein lokales Makro var mit Inhalt Jahr definiert. Dies ist legal, aber Sie beziehen sich nie auf diese lokale Makro in diesem Code, so dass die Definition ist sinnlos. Sie haben ein lokales Makro j mit Inhalt 1996 definiert. Dies ist legal. Sie öffnen eine Schleife und definieren den Loop-Index als j. Das bedeutet, dass innerhalb der Schleife jede Referenz auf lokales Makro j in der Liste der Argumente interpretiert wird, die Sie bereitstellen. (Die vorherige Definition von j ist innerhalb der Schleife irrelevant und hat daher keine Auswirkung auf den Rest des Codes.) Sie legen fest, dass die Schleife hier über eine Variablenliste ist. Beachten Sie, dass das Keyword var hier ist kurz für varlist und hat absolut nichts zu tun, die lokalen Makro Namen var Sie gerade definiert. Die Variablenliste besteht aus dem einzelnen Variablennamenjahr. Diese Aussage wird interpretiert, die einzige Zeit, die die Schleife ausgeführt wird, da die Verweise auf das lokale Makro j durch den Inhalt des Variablennamenjahres ersetzt werden. Yearyear ist für jede Beobachtung wahr. Der Effekt ist ein neuer variabler Typ, der bei jeder Beobachtung 1 ist. Das ist kein Indikator oder Dummy-Variable, wie du es willst. Wenn du deinen Dataset sorgfältig ansiehst, wirst du sehen, dass es sich hierbei nicht um eine Dummy-Variable für das Jahr 1996 handelt. Du versuchst, das lokale Makro j um 1 zu erhöhen. Aber du stellest nur lokales Makro j, um das Stringjahr zu enthalten. Das ist ein Variablenname. Aber du kannst nicht zu einem String hinzufügen, und so wird die Fehlermeldung Typ-Mismatch sein. Sie berichten nicht, dass Fehler, was eine Überraschung ist. Es ist ein wenig subtil, wie im vorherigen Befehl der Kontext der Erzeugung erlaubt die Interpretation der Bezug auf das Jahr als eine Anweisung, mit dem variablen Jahr zu berechnen. Das ist natürlich numerisch. Aber lokale Befehle sind alles über String Manipulation, die möglicherweise oder nicht haben numerische Interpretation, und Ihr Befehl ist gleichbedeutend, um zunächst zuweisen Stata zu addieren, die einen Typ Mismatch Fehler auslöst. Verwandeln Sie sich von Ihrem Code: Betrachten Sie eine Schleife Dies ist näher an dem, was Sie wollen, aber macht deutlicher einen anderen Fehler in Ihrem Code. Dies würde Variablen d1996 zu d2012 zu schaffen, aber jeder wird 1 in dem angegebenen Jahr, aber fehlt sonst, was ist nicht das, was Sie wollen. Sie könnten das beheben, indem Sie eine weitere Zeile in die Schleife hinzufügen, aber eine viel sauberere Möglichkeit, es zu tun ist die einzelne Zeile wird als 1 ausgewertet, wenn wahr und 0, wenn falsch, was ist, was Sie wollen. All dies ist Standard-Technik dokumentiert in U oder P. Wie Roberto Ferrer darauf hingewiesen, aber erfahrene Stata Benutzer würden nicht definieren Dummies auf diese Weise, wie tabulate bietet eine Option, um es ohne eine Schleife zu tun. Ein Tutorial, das Kommentare zu lokalen Makros, foreach und forvalues ​​Schleifen zusammenbringt, ist innerhalb von stata-journalsjpdf. htmlarticlenumpr0005 in Stata hätte darauf hingewiesen, dass als eines der verschiedenen Stücke, die Sie lesen können. Schleifen ist nicht notwendig. Versuchen Sie den Befehl tabulate mit der gen () Option. Siehe Hilfe tabellieren oneway. Siehe auch Hilfe xi und helfen Faktor Variablen. Du versuchst, die verschiedenen Werte des Jahres zu durchlaufen, aber die Syntax ist nicht korrekt. Sie sind tatsächlich durchlaufen eine Liste von Variablen mit nur einem Element: Jahr. Die Befehlsebenen geben Ihnen die verschiedenen Werte, aber wie ich schon sagte, ist Schleifen nicht notwendig.

No comments:

Post a Comment