Erstellen Sie eine Dummy-Variable basierend auf der Anzahl der variablen Auftritte mit SAS
-
20-12-2019 - |
Frage
Ich versuche, eine Dummy-Variable A zu erstellen, um die Anzahl der ID-Erscheinungen anzuzeigen.Wenn ID genau zweimal erscheint, dann gleich 0;Wenn ID mehr als zweimal erscheint, dann ist ein Gleichstrom 1.
Meine gewünschte Ausgabe lautet wie folgt:
generasacodicetagpre.mein Code ist:
generasacodicetagpre.aber der Ausgang ist falsch.
Lösung
Sie können keine Summe (Zählung) verwenden, um die Zählung über mehrere Beobachtungen zu summieren.Stattdessen müssen Sie zunächst die Beobachtungen zählen und dann die Zählungen in die ursprünglichen Daten zusammenführen.
if last.id then output
bedeutet, dass NewData nur die letzte Beobachtung für jede ID hat.Wir wollen das, weil die letzte Beobachtung den Grafschaft der Anzahl der Beobachtungen pro Ausweis hat.
In diesem Schritt werden die ursprünglichen Daten "Daten" mit den Zählern von "Newdata" zusammengeführt und berechnet a.
generasacodicetagpre.proc sql-lösung Mit Proc SQL können Sie es noch schneller tun:
generasacodicetagpre. group by id
bedeutet, dass zusammenfassende Statistiken, wie z.count(*)
erstellt eine Variable a.Wenn der Zählwert für eine bestimmte ID 2 ist, ist ein Wert von 0, sonst a nimmt ein Wert von 1.