Erstellen Sie eine Dummy-Variable basierend auf der Anzahl der variablen Auftritte mit SAS

StackOverflow https://stackoverflow.com//questions/25004053

  •  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.

War es hilfreich?

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.

Datenschrittlösung

generasacodicetagpre.

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top