Logische Oder In Stata Forex


Stata: Datenanalyse und statistische Software Nicholas J. Cox, Durham University, Großbritannien Die meisten Computersprachen haben eine Art und Weise, mit dem, was wahr ist und was falsch ist, zu arbeiten, aber nicht alle Sprachen wählen genau die gleiche Weise. Stata folgt zwei Regeln, die zweite kann als eine Verallgemeinerung des ersten betrachtet werden. Ich werde die Regeln angeben, und dann schauen wir uns jedesmal an. Regel 1: Logische oder boolesche Ausdrücke werten auf 0, wenn false, 1 wenn wahr. Regel 2: Logische oder boolesche Argumente, wie das Argument zu if oder while. Kann einen beliebigen Wert annehmen, nicht nur 0 oder 1 0 wird als false und jeder andere numerische Wert als wahr behandelt. Regel 1: Logische oder boolesche Ausdrücke werden zu 0 ausgewertet, wenn false, 1 wenn true Erstens, betrachten Sie die Ergebnisse von logischen oder booleschen Ausdrücken. (George Boole arbeitete auf Logik und Wahrscheinlichkeit im 19. Jahrhundert. Weitere Informationen über George Boole finden Sie unter www-history. mcs. st-and. ac. uk historyMathematiciansBoole. html.) In Stata verwenden diese Ausdrücke eine oder mehrere verschiedene relationale und logische Operatoren. Die Bediener. . . Gt; Gt; Lt. Und sie werden verwendet, um Gleichheit oder Ungleichheit zu testen. Die Operatoren und werden verwendet, um anzuzeigen und, oder, und nicht. Es ist eine Frage des Geschmacks, ob Sie die Negation verwenden oder angeben. In dieser FAQ verwenden wir. Wenn Sie mehr über eine dieser Möglichkeiten erfahren möchten, finden Sie unter Operatoren. Beispielsweise wird im Autodatensatz der Ausdruck Fremd1 für die Beobachtungen zutreffen, in denen die Variable Fremd 1 ist und Falsch anderweitig. Das doppelte Gleichheitszeichen wird verwendet, wenn Sie für Gleichheit testen möchten, vergleichen Sie die Verwendung des einzelnen Gleichheitszeichens für die Zuweisung. Als zweites Beispiel ist der Ausdruck 2 2 immer wahr. Das scheint nicht hilfreich oder lehrreich, aber unten werden wir sehen, eine Verwendung für Ausdrücke, die unbedingt immer wahr sind. Kompliziertere Ausdrücke können leicht konstruiert werden: ausländische 1 rep78 4 wird wahr sein, wenn ausländische 1 und rep78 4. Typing zeigt, dass es neun solcher Autos in der Auto-Dataset. (Übrigens kann der Zählbefehl trivial erscheinen, aber es ist eine einfache Möglichkeit, Antworten auf einige grundlegende Fragen zu Ihren Daten zu erhalten.) Logische Ausdrücke haben numerische Werte, die immens nützlich sein können. In Stata besteht die Regel darin, dass falsche logische Ausdrücke den Wert 0 haben und wahre logische Ausdrücke den Wert 1 haben. Somit können logische Ausdrücke verwendet werden, um Indikatorvariablen zu generieren (die auch als binär, dichotom, dummy, logisch oder boolesch bezeichnet werden, abhängig vom Stammjargon) ), Die Werte 0 oder 1 haben. Der Befehl erzeugt eine neue Variable, die 1 ist, wenn mpg größer als 30 ist, und 0 ansonsten. Zwei Falten sollten nun erwähnt werden. Was passiert, wenn mpg fehlt Die Regel ist, dass Stata numerische fehlende Werte als höher als jeder andere numerische Wert behandelt, so fehlt sicherlich als größer als 30, und jede Beobachtung mit mpg fehlt würde 1 für diese neue Variable zugeordnet werden. Diese Regel führt zu der nächsten Falte: die Eingabe würde 1 zuweisen, wenn mpg größer als 30 wäre, aber nicht fehlte 0 wenn mpg nicht größer als 30 wäre und fehlte, wenn mpg fehlte. Die Logik ist, dass Sie nicht sagen, was Ergebnis Sie wollten, wenn mpg fehlte in der Abwesenheit von Anweisungen, wird Stata Achselzucken die Schultern auf die einzige Weise, die es kennt, indem ein Ergebnis der fehlenden. Die gleiche Logik würde gelten, wenn Sie nur an Hausautos interessiert waren: Wenn Fremde nicht gleich 0 wären, dann würde das Ergebnis fehlen. Andernfalls wäre das Ergebnis 1 oder 0, je nachdem, ob mpg war oder nicht größer als 30. Der numerische Wert der logischen Ausdrücke ist immer nützlich, wenn wir etwas zählen wollen. Angenommen, wir wollen eine neue Variable erstellen, in der wir die Frequenzen von mpg größer als 30 setzen, nach Kategorien von rep78. In der zweiten Anweisung erzeugt die Funktion sum () eine kumulative oder laufende Summe aus mpg gt 30. Wenn mpg gt 30. 1 zu der Summe addiert wird, wird 0 addiert. Diese Aussage ergibt eine laufende Zählung der Anzahl der Beobachtungen, für die mpg gt 30. In der dritten Anweisung ersetzen wir die laufende Zahl durch ihren letzten Wert, die Gesamtzählung. Dieser Vorgang geschieht im Rahmen von by. Für die Daten auf rep78 sortiert werden müssen. Was zuerst getan wird. Unter durch:. Die Erzeugung wird separat für jede Gruppe von rep78 durchgeführt. In ähnlicher Weise erfolgt die Ersetzung separat für jede Gruppe von rep78. (Sie sind auch in der Lage, eine Anweisung zu speichern, indem Sie von verwenden, aber das ist beiläufig für die Hauptidee.) Wie es passiert, gibt es einen schnelleren Weg, um die oben genannten Befehle mit egen zu tun. Die eingebaute Funktion sum () erzeugt kumulative oder laufende Summen, während die egen-Funktion total () nur Summen erzeugt. Hier verwenden wir die Tatsache, dass es keine fehlenden Werte von mpg im Auto-Dataset gibt. Und wenn Sie wissen, dass dies von einer Variablen in Ihren Daten wahr ist, können Sie auch die Möglichkeit fehlender Werte ignorieren. Eine allgemeinere Methode zum Zählen von Beobachtungen, die größer als eine Schwelle sind, ist die Verwendung von total (varname gt threshold amp varname lt.). Das ist eine sichere und nie traurige Methode, wann immer Sie fehlende Werte ausschließen möchten. (Natürlich, wenn fehlt in der Praxis zu hoch, um gemessen werden, dann möchten Sie vielleicht fehlen.) Regel 2: logische oder boolesche Argumente, wie das Argument, ob oder while. Kann einen beliebigen Wert annehmen, nicht nur 0 oder 1 0 wird als false und jeder andere numerische Wert als true behandelt Nun überlegen Sie, was passiert, wenn Sie etwas wie Stata listet mpg für die Beobachtungen, für die ausländische gleich 1 ist (und nicht auflisten) Wenn dies nicht der Fall ist). Stata listet mpg auf, wenn der logische Ausdruck fremd 1 wahr ist oder zu 1 ausgewertet wird. Wir sehen oben eine langwierigere Erklärung dieses Prozesses. Diese Methode sieht aus wie die gleiche Idee in einer anderen Form. Es ist, aber es gibt zusätzliche Wendungen. Betrachten Sie jetzt Es gibt keine relationalen oder logischen Operatoren in Sicht, aber Stata ist hier breit. Es wird immer noch versuchen sein Bestes, um eine Möglichkeit zu finden, tatsächlich oder falsch zu entscheiden, es akzeptiert jedes Argument, das eine Zahl nicht 0 als wahr auswertet, und jedes Argument, das 0 als falsch auswertet. Wenn das mathematische oder Computerjargonargument für Sie neu ist, denken Sie an es hier, um anzuzeigen, was zu gefüttert wird, wenn. Für eine numerische Variable wie zum Beispiel fremd. Stata betrachtet die Werte dieser Variablen und nicht 0 wird als true und 0 als false behandelt. Mit anderen Worten, sind genau gleichwertig. Dies gilt immer für jede numerische Variable. In der Praxis gibt es eine Verknüpfung nur dann, wenn Sie eine Indikatorvariable haben, die nur die Werte 0 oder 1 annimmt. Die beiden Anweisungen sind in der Praxis im Auto-Dataset äquivalent. In der ersten Anweisung wertet Stata den Ausdruck fremd 1 aus. Und führt dann die angegebene Aktion (auflisten) nur dann aus, wenn der Ausdruck wahr ist oder numerisch auf 1 ausgewertet wird. In der zweiten Anweisung betrachtet Stata die Werte der Variablen Fremd. Und dann die Aktion ausführt, wenn und nur wenn der Wert eine Zahl nicht 0 ist. Im Autodatensatz ist Fremd nicht 0, wenn und nur dann, wenn es gleich 1 ist, also werden die beiden Bedingungen durch genau die gleichen Beobachtungen erfüllt. Im Laufe der Zeit wird dies sparen Sie viele Tastenanschläge, wenn Sie mit Indikator-Variablen arbeiten, und es wird Ihnen erlauben, geben Sie Stata-Syntax in der Nähe der Art, wie Sie denken, sagen wir, ob weiblich oder sogar wenn weiblich. (Das ist eine Möglichkeit, die Auswahl rückgängig zu machen: Kippt jeden Wert nicht 0 auf 0 und einen Wert von 0 auf 1). Beachten Sie jedoch, dass numerische Fehler nicht als 0 zählen, da sie eine Zahl bedeuten, die viel größer als 0 ist. Sie können immer interaktiv oder in einem Programm überprüfen, dass eine Variable nur die Werte 0 und 1 mit assert hat. Wenn varname gleich einem anderen Wert wäre, würde Stata die Assertion verweigern. Wenn Sie tippen, vielleicht durch Zufall, erhalten Sie eine Liste für alle Beobachtungen, weil rep78 ist nie 0. Es ist die gleiche Logik. Wenn das Argument nur eine Zahl war, gilt die gleiche Logik. Diese Logik kann auch nützlich sein mit if. Sie können z. B. fehlende Werte zählen und nur dann Maßnahmen ergreifen, wenn ein oder mehrere fehlende Werte vorhanden waren. Es kann auch nützlich sein, mit der while-Befehl, der mehr von einem Programmierer-Befehl ist, die wir im Detail veranschaulichen werden. Während 1 Ihnen eine Endlosschleife gibt: die 1 ist hier beliebig, da eine beliebige Zahl nicht 0 wäre. Vermutlich, innerhalb Ihrer sonst endlosen Schleife, fügen Sie einige Tests, die Stata aus der Schleife, sagen wir, mit fortsetzen. Eine verwandte Technik besteht darin, eine Markierung zu setzen und die Schleife nur zu verlassen, wenn und wenn diese Markierung geändert worden ist: Schließlich, wenn Sie zufällig den Namen einer Stringvariablen oder einer Textzeichenfolge als Argument für if liefern sollten Oder während. Würde es eine Fehlermeldung geben, da Stata weder als numerisches Argument interpretieren kann. Nur numerische Argumente können als wahr oder falsch betrachtet werden. Drei-wertige Logikoperationen in Stata Stata verwenden numerische Größen als logische Werte und bieten logische Operatoren (,,), um Ausdrücke von grundlegenden Elementen zu erstellen. Diese Operatoren können als fehlerhaft betrachtet werden, wenn fehlende Werte in den Operanden vorhanden sind. In diesem Zusammenhang ist fehlt äquivalent zu wahr, was oft nicht das gewünschte Ergebnis ist. Stattdessen kann man den maximalen Satz von nonmissing-Ergebnissen für alle Kombinationen von Operandenwerten erhalten wollen, während das Verhalten der Operatoren an zweiwertigen Operanden erhalten bleibt - mit anderen Worten, man sollte eine dreiwertige Logik annehmen. Ich habe eine Reihe von egen Funktionen, die diese Fähigkeit bieten entwickelt. Als solche können sie nur eine Art von Operation zu einem Zeitpunkt, so dass komplexe Ausdrücke brauchte in Phasen aufgebaut werden. Aber sie können eine große Hilfe sein, wenn Sie Indikator-Variablen erzeugen wollen und wollen die maximale Menge der nicht-ignorierenden Ergebnisse. Wenn Sie Probleme beim Herunterladen einer Datei haben, überprüfen Sie, ob Sie die richtige Anwendung haben, um sie zuerst anzuzeigen. Bei weiteren Problemen lesen Sie bitte die IDEAS-Hilfeseite. Beachten Sie, dass diese Dateien nicht auf der IDEAS-Website sind. Bitte haben Sie Geduld, da die Dateien groß sein können.

Comments