Saturday 28 October 2017

Recode String Variable In Stata Forex


Stata for Researchers: Arbeiten mit Daten Dies ist Teil vier der Stata for Researchers Serie. Eine Liste der Themen, die von dieser Serie abgedeckt werden, finden Sie in der Einleitung. Wenn Sie zu Stata neu sind, empfehlen wir, die Artikel in der Reihenfolge zu lesen. Nun, da Sie Statas grundlegende Syntax verstehen, sind Sie bereit, mit Ihren Daten zu arbeiten. In diesem Artikel erfahren Sie, wie Sie neue Variablen erstellen, vorhandene Variablen ändern und Labels erstellen können. Generieren und Ersetzen Die grundlegenden Befehle zum Erstellen und Ändern von Variablen generieren (in der Regel abgekürzt Gen) und ersetzen (die wie andere Befehle, die Informationen zerstören können, keine Abkürzung haben). Generieren neue Variablen ersetzen Änderungen der Werte der vorhandenen Variablen. Ihre Kernsyntax ist identisch: Gen Variablenausdruck Ersetzen Sie den Variablenausdruck, wobei Variable der Name der Variablen ist, die Sie erstellen oder ändern möchten, und Ausdruck der mathematische Ausdruck, dessen Ergebnis Sie einfügen möchten. Ausdrücke können so einfach sein wie eine einzelne Zahl oder beinhalten alle Arten von komplizierten Funktionen. Stata hat eine große Bibliothek von Funktionen, die Sie in Gen verwenden und Ausdrücke ersetzen können, viel zu viele für uns, um sie alle zu decken (obwohl gut einige einführen, wie wir gehen). Für eine vollständige Liste geben Sie help-Funktionen 8212well sprechen über das Lernen aus den Hilfedateien in Learning More. Wenn ein Ausdruck an einem beliebigen Punkt einen fehlenden Wert enthält, fehlt das Ergebnis. Normalerweise ist dies genau das, was youd erwarten und wollen. Sie sollten die Daten niemals interaktiv ändern, bevor Sie eine do-Datei erstellen. Öffnen Sie den do-Datei-Editor (Typ doedit oder klicken Sie auf die Schaltfläche, die aussieht wie ein Bleistift schreiben in einem Notebook). Klicken Sie sofort auf Datei. Speichern als. Und speichern Sie die do-Datei als data1 (Stata füllt. do am Ende). Dann starten Sie Ihre do-Datei mit den folgenden Befehlen, wie im vorherigen Abschnitt beschrieben: löschen Sie alle Capture-Log-close-Set mehr aus-Protokoll mit data. log, ersetzen Sie echte Arbeit geht hier speichern autoVersion2, ersetzen Sie Protokoll schließen Jetzt sind Sie bereit, zur Arbeit zu gehen. Die Arbeit selbst wird nach der Verwendung automatisch und vor Log zu schließen. Die Preise im Auto-Datensatz sind in 1978 Dollar, so könnte es sinnvoll sein, sie zu 2015 Dollar umzuwandeln. Dazu müssen Sie die Preise mit einem Umrechnungsfaktor multiplizieren, der der CPI im Jahr 2015 ist, geteilt durch den CPI im Jahr 1978 oder etwa 3,6. Der Code lautet: Sie können sie jetzt mit: Fügen Sie diese Zeilen zu Ihrer Do-Datei, klicken Sie dann auf die Do-Schaltfläche auf der rechten Seite (die, die wie ein Blatt Papier mit einem kleinen quotplayquot Symbol in der Ecke aussieht) oder drücken Sie Strg D Wechseln Sie zum Hauptfenster von Stata, um die Ergebnisse anzuzeigen. Aber lassen Sie sich ein wenig genauer und verwenden Sie 3.57 als Umrechnungsfaktor. Gehen Sie zurück zur do-Datei und ändern Sie die Zeile: und führen Sie die do-Datei erneut aus. Die do-Datei beginnt mit dem Löschen der vorherigen Datensatz aus dem Speicher und das Laden des Originals von der Festplatte, so theres keine Notwendigkeit, quotfixquot die alte Version von price2015. Es ist einfach wieder so, wie wir es jetzt wollen. Sowohl der Preis als auch die Variable price2015 erlaubten uns, ihre Werte zu vergleichen und auf Plausibilität zu prüfen. Aber wenn Sie nur mit 2015 Dollar arbeiten wollen und sind zuversichtlich, Sie haben die Formel richtig, können Sie mit dem Replace-Befehl, um die bestehende Preisvariable ändern, anstatt eine neue zu erstellen: Führen Sie diese Version und youll erhalten die Nachricht (74 reale Änderungen gemacht). Angesichts der Tatsache, dass der Datensatz hat 74 Beobachtungen, dies sagt uns, alle von ihnen wurden geändert, wie wed erwarten. Sobald Sie beginnen, wenn Bedingungen, wie viele Beobachtungen tatsächlich geändert wurden können sehr nützliche Informationen. Wenn ein Gen-Befehl eine if-Bedingung hat, wird die resultierende Variable für alle Beobachtungen noch vorhanden sein (und muss). Jedoch wird ihm ein fehlender Wert für Beobachtungen zugewiesen, wenn die if-Bedingung nicht wahr ist. Wenn ein Ersetzungsbefehl eine if-Bedingung hat, bleiben Beobachtungen, bei denen die if-Bedingung nicht erfüllt ist, unverändert. Angenommen, Sie wollten die Fünfpunktskala der rep78-Variablen in eine Dreipunktskala reduzieren. Fügen Sie den folgenden Code zu Ihrer do-Datei, um dies zu tun: Gen rep31 if rep78lt3 rep32 rep32 wenn rep783 ersetzen rep33 wenn rep78gt3 amp rep78lt ersetzen. Die erste Zeile erzeugt die neue Variable rep3. Sondern setzt sie nur auf Fälle, in denen rep78 weniger als drei ist. Die anderen fehlen. Die zweite Zeile ändert einige dieser Missings zu zwei, und die dritte ändert mehr von ihnen zu drei. Beachten Sie, wie die dritte Zeile ausdrücklich Beobachtungen ausschließt, in denen rep78 fehlt. Was wird der Wert von rep3 für jene Fälle sein fehlt, weil es nie auf etwas anderes eingestellt wurde. Beobachtungen, bei denen rep78 fehlt, wurden implizit oder explizit von allen drei Befehlen ausgeschlossen. (Wenn Sie vergessen haben, fehlende Werte aus dem letzten Befehl auszuschließen, wäre rep3 drei für Autos, wo rep78 fehlt, ein allzu häufiger Fehler.) Der Befehl recode gibt Ihnen eine alternative Möglichkeit, rep3 zu erstellen. Es ist ausschließlich für Umkodieraufgaben und ist viel weniger flexibel als Gen und ersetzen. In der Tat kann alles recode tun können, auch mit gen durchgeführt werden und ersetzen. So dass es Lernen ist optional. Aber es kann einige Dinge leichter tun. Die Syntax lautet: recode var (Regel 1) (Regel 2) (weitere Regeln nach Bedarf.), Gen (newvar) Die gen-Option am Ende ist nicht erforderlich8212wenn sie nicht da ist, wird die ursprüngliche Variable geändert Variable mit den neuen Werten. Sie können auch Recode-Arbeit auf einer Liste von Variablen, recoding sie alle auf die gleiche Weise. Der Kern des recode-Befehls ist eine Liste von Regeln, in Klammern, die sagen, wie eine Variable umcodiert werden soll. Sie nehmen die Form (inputValue outputValue). Der inputValue kann eine einzelne Zahl, eine Liste von Zahlen oder ein Bereich von Zahlen sein, die mit dem Anfangsende angegeben werden. OutputValue ist immer eine einzelne Zahl. Alles, was nicht von einer Regel abgedeckt wird, bleibt unverändert. Heres eine recode-Version der Umwandlung rep78 zu einer Dreipunkt-Skala: recode rep78 (1 21) (32) (453), gen (rep3b) (Der einzige Grund für die Auflistung 1 und 2, aber geben einen Bereich für 4 bis 5 war bis Zeigen beide Stile.) Fehlende Werte erforderten keine spezielle Handhabung: Da fehlend in den Eingabewerten einer Regel nicht aufgeführt war, bleiben Beobachtungen mit fehlenden Werten unverändert. Wenn Sie alles richtig gemacht haben, sind rep3 und rep3b identisch. Überprüfen Sie, dass mit einem Assert: Führen Sie die do-Datei, um herauszufinden, wie Sie getan haben. Erstellen von Indikatorvariablen Beim Erstellen von Indikatorvariablen können Sie die Tatsache nutzen, dass Stata die Wahrheit als Eins und Falsch als Null behandelt, indem Sie eine Variable gleich einer Bedingung setzen. Betrachten Sie: (Die Klammern sind optional, aber machen es leichter zu lesen.) Dies schafft eine Indikatorvariable namens gasGuzzler, die eine (true) für Autos, wo mpg weniger als zwanzig und null (falsch) ist, wobei mpg größer als oder gleich ist zwanzig. Sie können den Effekt sehen mit: l machen mpg wenn gasGuzzler Wir wissen, dass kein Auto einen fehlenden Wert für mpg hat, aber, wenn irgendwelche tat, würde der oben genannte Code ihm eine Null für gasGuzzler zuweisen, als ob es bekannt war, gute Gasmeilenzahl zu haben. GasGuzzler sollte fehlen für solche Fälle, die Sie tun können: Gen gasGuzzler (mpglt20), wenn mpglt. Der egen Befehl, kurz für extended generieren. Gibt Ihnen Zugriff auf eine andere Bibliothek von Funktionen8212type help egen für eine vollständige Liste. Egen-Funktionen neigen dazu, komplexer zu sein, und arbeiten oft über Beobachtungen. Angenommen, Sie wollten den Mittelwert von mpg finden und in einer Variablen speichern. Egen hat eine mittlere Funktion, die genau das gibt, was Sie wollen: Die Funktion mean () findet den Mittelwert einer Spalte. Um den Mittelwert einer Zeile zu finden, oder eher Teil einer Zeile, verwenden Sie rowmean (): egen rmrowmean (mpg rep78) Für jedes Auto wird rm das Mittel dieser Autos mpg und rep78 enthalten. Nicht, dass das wahrscheinlich eine nützliche Menge sein wird. Eine typischere Verwendung von rowmean () besteht darin, die Antworten der Antwortenden auf eine Gruppe von Fragen zu konstruieren. Die egen-Funktionen behandeln im Allgemeinen fehlende Werte, indem sie ihr Ergebnis über alle verfügbaren Daten berechnen. Also für Beobachtungen, wo rep78 fehlt, ist rm nur mpg. Die meisten der Zeit thats, was Sie wollen: wenn Sie 10.000 Beobachtungen haben und 1 von ihnen hat einen fehlenden Wert Sie wouldnt wollen Stata Ihnen sagen, seine unmöglich, einen Mittelwert zu berechnen. Allerdings kann es problematisch sein: Wenn Sie rowmean () verwenden, um mittlere Antworten auf eine Gruppe von Fragen zu berechnen, aber einige Leute nicht alle Fragen beantwortet haben, wird das Ergebnis dasselbe sein, als wenn Sie alle fehlenden Werte mit dem mean8212a ausgefüllt haben Sehr schlechte Idee. Mit egen. Was dem Gleichheitszeichen folgt, ist eine einzige Funktion und nicht ein mathematischer Ausdruck. Wenn Sie eine Variable auf eine Hälfte eines Mittels einstellen möchten, müssen Sie zuerst egen verwenden, um den Mittelwert zu berechnen, und verwenden Sie dann einen Ersetzungsbefehl, um ihn mit 2 zu teilen. Hier sind einige der am häufigsten verwendeten Funktionen in der egen-Bibliothek : Alle diese Funktionen wirken über Beobachtungen. Die Klammern enthalten in der Regel eine einzelne Variable für die Funktion, auf die sie reagieren kann, kann aber stattdessen einen mathematischen Ausdruck enthalten. Diese Funktionen haben auch Zeilenäquivalente (rowmin. Rowmax etc.), die dasselbe tun, aber über Variablen in einer einzigen Zeile. Es gibt viele andere nützliche egen-Funktionen wie std (eine standardisierte Version einer Variablen erstellen), group (erstellen Sie eine Gruppen-ID, die auf den Werten einer oder mehrerer kategorialer Variablen basiert) oder sogar mtr (Grenzsteuersatz für eine verheiratete Person) Ehepaar in den USA mit einem bestimmten Betrag des Einkommens in einem bestimmten Jahr). Sie erhalten eine vollständige Liste, indem Sie help egen eingeben. Und Sie sollten auf dem Lesen durch sie einige Zeit früh in Ihrem Stata Karriere planen. Drop and Keep Mit dem Drop-Befehl können Sie entweder Variablen oder Beobachtungen aus Ihrem Datensatz entfernen. Wenn Sie ihm eine Liste geben. Entfernt diese Variablen: entfernt die Variable rep3b aus dem Datensatz. Wenn Sie eine if-Bedingung geben, entfernt drop alle Beobachtungen, wenn diese Bedingung wahr ist: drop, wenn gasGuzzler Der keep-Befehl funktioniert auf die gleiche Weise, aber im entgegengesetzten Sinne. Keep rep3b würde alle Variablen außer rep3b entfernen. Während halten, wenn gasGuzzler würde alle Beobachtungen, die nicht Gasfresser zu entfernen. Sie können eine Variable umbenennen, indem Sie Folgendes eingeben: rename oldName newName Umbenennen von Variablen mit Gibberish-Namen (H2V06 und dergleichen) kann etwas Zeit in Anspruch nehmen, aber Sie sparen Zeit. Variablennamen müssen ein Wort ohne Leerzeichen sein. Sie können jedoch entweder Großbuchstaben oder Unterstriche () verwenden, um Wortgrenzen zu markieren. Ein Variablenname wie numinhh sieht aus wie Kauderwelsch, aber wenn man ihn in die Form numInHH oder numinhh einfügt, dann hat der Leser eine Kampfchance der Verwirklichung es bedeutet, quotnumber in household. quot Der Umbenennungsbefehl hat auch die Möglichkeit, große Anzahl von Variablen zu umbenennen Auf Mustern. Geben Sie help um, um weitere Informationen umzubenennen. Der Variablenname rep3 vermittelt nicht viel Informationen, so können Sie es ändern: rename rep3 repairRecord Labels können Sie mehr Informationen über Ihre Daten zu vermitteln. Sie müssen nur einmal eingeben, so können sie so lange wie Sie wollen. Etiketten können auf Variablen oder auf ihre Werte (oder ganze Datensätze, die wir diskutieren) angewendet werden. Dieser Datensatz enthält bereits eine Reihe von Variablenlabels, wie Sie im Fenster Variablen sehen können. Das einzige, das verwirrend sein könnte, ist das Etikett auf fremd. So gut ändern Sie es mit dem Label Variable Befehl. Die Syntax zum Festlegen eines Variablenlabels lautet: Labelvariable var quot labelquot Labelvariable foreign quotCar Originquot Sehen Sie sich das Fenster Variablen erneut an, um die Ergebnisse zu sehen. Als nächstes erkunden wir die Wert-Labels, indem wir die Werte des ReparaturRecords (früher rep3 = die neue Variable, die wir rekodiert haben, um rep78 von einer Fünfpunktskala auf eine Dreipunktskala zu kollabieren. Wert-Labels sind eine Zuordnung aus einer Menge von Ganzzahlen zu einer Menge von Beschreibungen, so dass der erste Schritt ist, um die Zuordnung zu erstellen. Verwenden Sie dazu den Befehl label define: label define mapName value1 quotlabel1 value2 label2 quot. Label define rep 1 quotBadquot 2quotAveragequot 3quotGoodquot Sagen Sie dann Stata, um die Werte der repairRecord-Variablen mit dem soeben definierten rep-Mapping zu kennzeichnen. Die Syntax lautet: Labelwerte Variable Map-Label-Werte repairRecord rep Um die Ergebnisse zu sehen, fügen Sie hinzu: Sobald eine Map definiert ist, können Sie sie auf beliebig viele Variablen anwenden: einfach die Variable im obigen Label-Wert durch eine Variablenliste ersetzen . Angenommen, Sie arbeiten mit Umfragedaten und Ihre Variablen beinhalten das Geschlecht des Befragten, das Geschlecht des Ge - sprächspartners und die Geschlechter aller Befragten. Man könnte nur eine Karte mit dem Namen Geschlecht definieren und sie dann verwenden, um die Werte aller Geschlechtsvariablen zu kennzeichnen. Zwei endgültige Befehle für Wert-Labels: label dir gibt Ihnen eine Liste aller definierten Labels, und Label-Liste sagt Ihnen, was sie bedeuten. Variable Typen und Präzisionsstata können Zahlen in fünf verschiedenen Variablentypen speichern. Byte. Int und long sind ganze Zahlen in verschiedenen Größen. Das kleinste Byte. Kann nur Zahlen unter 100 speichern, nimmt aber sehr wenig Speicher auf und ist damit ideal für Indikator - und kategorische Variablen. Int kann Zahlen bis zu etwa 32.000 und bis zu etwa zwei Milliarden aufnehmen. Für Zahlen mit Brüchen sind Ihre Wahlmöglichkeiten float (die Standardeinstellung) und double. Beide können sehr große Zahlen speichern, aber ihre Präzision ist begrenzt: ein Schwimmer hat nur etwa sieben Ziffern Genauigkeit und ein doppeltes sechzehn. Für Details geben Sie help datatypes ein. Während Sozialwissenschaftler selten sieben bedeutungsvolle Stellen in ihren Daten haben, denken Sie daran, dass Bezeichner nur große Zahlen sind, was Stata betrifft. Zum Beispiel denken Sie wahrscheinlich an Ihre UW-ID als eine Zeichenkette von zehn kleinen Ganzzahlen (quotnine, null, zwei. Quot), sondern Stata seine eine einzige, sehr große Zahl. Wenn Sie versucht haben, UW-IDs als Standard-Float zu speichern. Sie werden abgerundet, da ein Float-Cant speichern zehn Ziffern genau (was den Zweck der Speicherung einer ID zu besiegen). Solche IDs sollten mit Doppelten gespeichert werden. Sehnen oder Saiten. Der Typ einer Variablen wird beim Erstellen festgelegt. Um eine Variable zu erstellen, die kein Float ist, setzen Sie den gewünschten Typ direkt nach gen oder egen und vor dem Variablennamen: gen byte highMPG (mpggt25) Wenn Sie deklarieren, dass eine Variable eine Ganzzahl (byte int oder long) ist, aber der Ausdruck Setzen Sie es gleich auf Fraktionen enthält, wird der Bruchteil abgeschnitten, nicht gerundet. Es gibt auch eine round () - Funktion, wenn Sie es brauchen. Ein Großteil der Zeit seine nicht wert, sich Sorgen um die Suche nach den effizientesten numerischen Typen für Ihre Variablen. Allerdings, wenn Ihr Datensatz ist groß, mit kleinen Typen wie Byte, wo möglich kann eine Menge Speicherplatz und Speicherplatz sparen. Der Befehl compress sucht nach Variablen, die in kleineren Typen gespeichert werden können, ohne Präzision zu verlieren, und werden sie automatisch ändern. Strings sind Variablen, die Text und nicht numerische Werte enthalten. Es ist durchaus möglich, dass dieser Text aus Zahlen besteht, aber Stata wird nicht versuchen, sie zu bewerten. Sie können einen String erkennen, da er Anführungszeichen um ihn herum hat: macht x1 einen String und ist völlig verschieden von Beispielsweise können Sie nicht hinzufügen, x1 und x2. Sie können schreiben, wenn x1quot123quot und auch wenn x1gtquot123quot aber die letztere wird nach alphabetischer Reihenfolge ausgewertet werden, nicht numerisch. Stata bemerkte, dass Sie x1 gleich einer Zeichenfolge setzen und somit x1 eine Zeichenfolgenvariable automatisch erzeugten. Allerdings: wird nicht funktionieren, weil Sie nicht ändern können, eine Variable von String zu numerischen oder umgekehrt8212 aber Sie können es aussehen, wie Sie getan haben. Ändern des Typs einer Variablen Nehmen Sie an, Sie müssten einige Mathematik mit den Zahlen in x1 enthalten. Im Moment können Sie nicht, weil x1 ist eine Zeichenfolge. Heres, wie Sie das ändern können: gen tempreal (x1) drop x1 umbenennen temp x1 Die real () - Funktion nimmt ein Argument, einen String und gibt diese Zeichenfolge in eine Zahl umgewandelt. Wenn die Zeichenfolge alles enthält, aber die Zahlen real () wird fehlende zurückgeben. Nachdem die Zahlen in x1 als Temp. Sie tippen dann x1 und machen temp die neue x1. X1 ist nun eine numerische Variable. Sie können numerische Variablen in Strings mit dem gleichen process8212just ersetzen die real () - Funktion mit der string () - Funktion. Für die Übungen, die den Kfz-Datensatz verwenden, müssen Sie sicherstellen, dass Ihre Datei den ursprünglichen Datensatz lädt. Unter Verwendung des Kfz-Datensatzes wird angenommen, dass die Kosten für die Herstellung eines Autos die Summe der folgenden sind: 1,50 pro Pfund Gewicht 0,25 pro Pfund zu versenden, wenn es ausländische 100 ist, wenn seine rep78 5 ist (vermutlich bessere Ingenieure mieten) Berechnen Sie den Gewinn (Preis abzüglich Kosten) vom Verkauf jedes Autos. (Lösung) Betrachten Sie interviews. dta. Er enthält den Monat und das Jahr, in dem jedes Fach geboren wurde, sowie den Monat und das Jahr, in dem das Fach interviewt wurde. Finden Sie das Alter des Themas zum Zeitpunkt des Interviews in Monaten. Dann finden Sie es in ganzen Jahren (d. H., Was die Person sagen würde, wenn Sie fragten, "Wie alt sind youquot). Dont Sorgen über Tage (oder wenn Sie es vorziehen, davon ausgehen, dass Interviews immer später im Monat statt als Geburtstage). Für zusätzliche Gutschrift, lesen Sie auf Stata Daten und wiederholen Sie den Prozess mit ihnen. (Lösung) Zurück zum Automobil-Datensatz, die Marke Variable besteht aus dem Hersteller des Autos, gefolgt von dem Namen des Autos. Erstellen Sie eine neue Variable, die nur den Hersteller enthält. Diese Übung wird wahrscheinlich benötigen Sie, um Hilfe-Funktionen eingeben und egen helfen und schauen Sie durch die Liste der verfügbaren Funktionen. In der Tat thats Art des Punktes: Finden von Funktionen, die tun, was Sie tun müssen, ist ein großer Teil der Stata-Programmierung. Learning More enthält einige Tipps zum Verständnis der Hilfedateien. (Lösung) Nun betrachten statecounty. dta. Es hat eine zweiteilige Kennung: state und county. Kombinieren Sie sie in einer einzigen Kennung, so dass Grafschaft 1 im Zustand 1 zu 101 und Kreis 5 im Zustand 12 zu 1205 wird. Jetzt tun Sie es wieder, indem Sie sie in Zeichenfolgen zuerst, die den Code für county 1, Zustand 1 quot0101quot machen. (Lösung) Verwenden Sie den Automobil-Datensatz erneut. Erstellen Sie Wertlabels, so dass beim Auflisten von mpg Sie quot12 (niedrigstes MPG) quot und quot41 (höchstes MPG) für die Autos mit den niedrigsten und höchsten Werten von mpg sehen. (Lösung) Letzte Änderung: 12172015NOTICE: Die IDRE Statistical Consulting Group wird im Februar die Website auf das WordPress CMS migrieren, um die Wartung und die Erstellung neuer Inhalte zu erleichtern. Einige unserer älteren Seiten werden entfernt oder archiviert, so dass sie nicht länger erhalten bleiben. Wir werden versuchen, die Weiterleitungen so zu halten, dass die alten URLs weiterhin so gut funktionieren, wie wir können. Willkommen beim Institut für Digitale Forschung und Bildung Helfen Sie der Stat Consulting Group mit einem Geschenk Stata FAQ Wie kann ich schnell viele Zeichenfolgenvariablen in numerische Variablen umwandeln Es kann vorkommen, dass Sie eine Datei mit vielen (oder allen) der Variablen erhalten Definiert als Strings. Also Zeichenvariablen. Die Variablen können numerische Werte enthalten, aber wenn sie als Typstring definiert sind. Es gibt sehr wenige Dinge, die Sie tun können, um die Daten zu analysieren. Sie können keine Mittel erhalten, Sie können keine Regression durchführen, Sie können keine ANOVA ausführen usw. Manchmal enthält der Dataset numerische Werte, die als Strings gespeichert werden. Wir werden dieses Szenario zuerst ansprechen. Dann werden wir den Fall ansprechen, in dem die String-Variablen tatsächlich Strings enthalten, und das Ziel ist, jedem Wert zuzuordnen, den die Zeichenfolge auf einen numerischen Wert anwendet. Alle Beispiele auf dieser Seite verwenden den gleichen Dataset, so können wir durch die Prüfung der Daten zu starten. Der Beispieldatensatz, hsbs. Ist eine Teilmenge der High School und Beyond-Datendatei mit allen Variablen als String-Variablen. Wie Sie aus dem folgenden Befehl sehen, sind die Variablen alle als String-Variablen definiert (z. B. Wissenschaft ist str2, ein String der Länge 2). Nachdem wir nun wissen, dass die Variablen String-Variablen sind, können wir mit dem list-Befehl sehen, wie die in diesen Variablen gespeicherten Strings aussehen. Obwohl die Variablenwissenschaft als str2 definiert ist, können Sie aus der folgenden Liste sehen, dass sie nur numerische Werte enthält. Dennoch kann Stata, da die Variable als str2 definiert ist, keine numerische Analyse der variablen Wissenschaft durchführen. Das gleiche gilt für die Variable lesen. Konvertieren von Zeichenfolgenvariablen mit numerischen Werten Eine Methode zum Konvertieren von Zahlen, die als Zeichenfolgen in numerische Variablen gespeichert sind, besteht darin, eine Zeichenfolgefunktion namens real zu verwenden, die numerische Werte, die als Zeichenfolgen gespeichert sind, in numerische Werte umwandelt, die Stata als solche erkennen kann. Die erste Zeile der Syntax liest sich in dem oben gezeigten Datensatz. Die zweite erzeugt eine neue Variable readn, die gleich dem Wert der Zahl ist, die in der gelesenen Stringvariable gespeichert ist. Die real (s) ist die Funktion, die die als Strings gehaltenen Werte übersetzt, wobei s die Variable mit Strings ist. Ein zweites Verfahren, um dasselbe Ergebnis zu erzielen, ist die Befehlszerstörung. Versuchen Sie es mit dem Befehl destring und sehen, wie es funktioniert. Die erste Syntax-Zeile lädt den Dataset erneut, so dass wir mit einem Dataset beginnen, das nur String-Variablen enthält. Die zweite Syntaxzeile führt den Befehl destring aus. Wie Sie im folgenden Befehl sehen können, hat der destring-Befehl alle Variablen auf Numerik umgestellt, mit Ausnahme des Rennens. Geschlecht und schtyp. Da diese Variablen Zeichen in ihnen hatten, ließ der destringende Befehl diese Variablen alleine. Wenn es im Dataset numerische Variablen gegeben hätte, würden sie unverändert bleiben. Beide der oben beschriebenen Techniken haben Attribute, die in einigen Situationen Vorteile sind und in anderen Situationen Nachteile sein können. Der Befehl destring kann in einem Schritt auf einem gesamten Dataset ausgeführt werden, die Methode, die die Funktion real verwendet, erfordert die Ausgabe eines Befehls für jede Variable, die umgewandelt werden soll (dies kann jedoch mit einer Schleife geschehen, anstatt die Syntax für jede Variable einzugeben). Ein möglicher Vorteil für die Verwendung der Funktion real (die erste Methode) besteht darin, dass die Variable, wenn die Funktion real auf einen nicht-numerischen Wert trifft, die Variable fehlt und dann weiterfährt. In gewissem Maße kann entsetzt werden, um sich ähnlich zu verhalten, aber nicht identisch. Um eine Stringvariable, die einen nicht-numerischen Wert enthält, mit destring zu konvertieren, muss man die Zeichen, die ignoriert werden sollen (z. B. oder.), Auflisten. Zudem entfernt destring die angegebenen nicht-numerischen Zeichen, anstatt die Werte für jene Fälle festzulegen, die nicht-numerische Werte enthalten (was die Funktion real macht). Destring wird die spezifizierten Zeichenfolgen extrahieren und dann umwandeln, was bedeutet, dass a4 in 4 umgewandelt werden kann. Das Verhalten von destring ist sehr gut, wenn man numerische Werte als Strings gespeichert hat, die gelegentlich Dinge wie Kommas (zB 4.354) enthalten, aber es kann Situationen geben, in denen Dieses Verhalten ist unerwünscht. Konvertieren von String-Variablen mit nicht-numerischen Werten in numerische Werte Wie konvertieren wir Gender und Schtyp in numerische Werte Wir können den Encoding-Befehl wie unten gezeigt verwenden. Diese Befehle erzeugen gender2 und schtyp2. Beachten Sie in dem Beschreibungsbefehl unten, dass gender2 und schtyp2 numerische Variablen sind und sie mit ihnen verknüpft sind (gender2 und schtyp2 genannt). Wenn wir die Daten auflisten, scheint es, dass gender2 und schtyp2 identisch mit Geschlecht und schtyp sind. Aber sie sind wirklich numerisch und was Sie sehen, sind die mit den Variablen verknüpften Wertelabels. Unten verwenden wir die nolabel-Option und Sie sehen, dass gender2 und schtyp2 sind wirklich numerisch. Was ist mit dem variablen Rennen. Es ist immer noch eine Zeichenvariable, weil unser vorheriger Destringing-Befehl das X in den Daten sah und nicht versucht, es zu konvertieren, da es nicht-numerische Werte hatte. Unten können wir es in numerische umwandeln, indem ich die Option ignore (X), die destring, um die Variable zu numerischen konvertiert und wenn es auf X, um es zu einem fehlenden Wert konvertiert erzählt. Sie können die Ergebnisse in der Liste unten sehen. Wie Sie gesehen haben, können wir mit destring Variablen, die Zahlen enthalten, in numerische Variablen umwandeln und Situationen behandeln, in denen einige Werte als Zeichen gespeichert werden (wie das X, das wir mit Rasse sahen). Wenn Sie eine Zeichenvariable haben, die als alle Zeichen gespeichert ist, können Sie codieren, um die Zeichenvariable in numerisch zu konvertieren, und es werden Wertebeschriftungen erstellt, die die Werte haben, die mit der Zeichenvariablen gespeichert wurden. Weitere Informationen finden Sie im Hilfs - oder Referenzhandbuch zu den Befehlszeilen - und Encodierungsbefehlen. Der Inhalt dieser Website sollte nicht als eine Bestätigung für eine bestimmte Website, ein Buch oder ein Softwareprodukt der Universität von Kalifornien verstanden werden.

No comments:

Post a Comment