Anzahl identischer Fälle zählen

Fragen und Diskussionen rund um die Arbeit mit SPSS. Für allgemeine Statistik-Themen, die nicht mit SPSS zusammenhängen, bitte das Statistik-Forum nutzen.
Antworten
regina78
Beiträge: 11
Registriert: 06.09.2010, 11:55

Anzahl identischer Fälle zählen

Beitrag von regina78 »

Hallo zusammen,

kennt jemand einen Syntaxbefehl, um einen SPSS-Datensatz nach identischen Fällen (Doubletten) zu durchsuchen und deren Anzahl in einer Variablen auszugeben?

Mein Datensatz sieht so aus:

ID.......Name
001.....Meier
001.....Meier
003.....Schneider
002.....Horst
003.....Schneider
001.....Meier

Ich hätte gerne eine Variable, die angibt, wie häufig eine ID vorkommt:

ID.......Name.......Anzahl
001.....Meier........3
001.....Meier........3
003.....Schneider..2
002.....Horst.........1
003.....Schneider..2
001.....Meier........3

Ich habe mir folgende Syntax zusammengereimt:

SORT CASES ID (A).
IF (ID ~= LAG (ID,1)) IDNR=0.
COMPUTE IDNR = IDNR+1.
LEAVE IDNR. EXECUTE.

Allerdings ist dadurch nur einmal der Maximalwert vergeben und zwar in der letzten Zeile des jew. Namens (der nach gleichem Namen sortierten Datei). Also stünde nur in der letzten "Meier"-Zeile die 3 und in der letzten "Schneider"-Zeile die 2.

ID.......Name.......Anzahl
001.....Meier........1
001.....Meier........2
001.....Meier........3
002.....Horst.........1
003.....Schneider..1
003.....Schneider..2

Wie gesagt, bräuchte ich die Anzahl-Variable pro Namen identisch (sofern sie auch die gleiche ID haben).

Hat jemand einen Ansatz?

Danke und LG,
Regina
Generalist
Beiträge: 1733
Registriert: 11.03.2010, 22:28

Beitrag von Generalist »

Befehl Daten aggregieren, als Break Variable id, Anzahl der Fälle anfordern.
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

das ist bei SPSS doch schon fertig implementiert: Daten - doppelte Fälle ermitteln.

Hier ein Syntaxbeispiel mit v2 und v3 als Variablen:

Code: Alles auswählen

DATASET ACTIVATE DatenSet1.
* Doppelte Fälle ermitteln.
SORT CASES BY v3(A) v2(A).
MATCH FILES
  /FILE=*
  /BY v3 v2
  /FIRST=PrimaryFirst
  /LAST=PrimaryLast.
DO IF (PrimaryFirst).
COMPUTE  MatchSequence=1-PrimaryLast.
ELSE.
COMPUTE  MatchSequence=MatchSequence+1.
END IF.
LEAVE  MatchSequence.
FORMAT  MatchSequence (f7).
COMPUTE  InDupGrp=MatchSequence>0.
SORT CASES InDupGrp(D).
MATCH FILES
  /FILE=*
  /DROP=PrimaryFirst InDupGrp MatchSequence.
VARIABLE LABELS  PrimaryLast 'Indicator of each last matching case as Primary'.
VALUE LABELS  PrimaryLast 0 'Duplicate Case' 1 'Primary Case'.
VARIABLE LEVEL  PrimaryLast (ORDINAL).
FREQUENCIES VARIABLES=PrimaryLast.
EXECUTE.
Gruß
drfg2008
regina78
Beiträge: 11
Registriert: 06.09.2010, 11:55

Beitrag von regina78 »

vielen Dank Euch beiden!

@drfg2008: Bei der in SPSS enthaltenen Methode bekomme ich die Anzahl nicht in der Form als Variable ausgewiesen, dass bei identischen IDs immer die gleiche Anzahl steht, da bei der Zählung immer um 1 erhöht wird. Genau dies ist aber mein Anliegen.

@Generalist: Mit Deiner Methode bekomme ich das so hin, wie ich das haben möchte, da eine einheitliche Fallanzahl-ID gebildet wird.

LG, Regina.
drfg2008
Beiträge: 2391
Registriert: 06.02.2011, 19:58

re

Beitrag von drfg2008 »

kennt jemand einen Syntaxbefehl, um einen SPSS-Datensatz nach identischen Fällen (Doubletten) zu durchsuchen und deren Anzahl in einer Variablen auszugeben?

Ich hätte gerne eine Variable, die angibt, wie häufig eine ID vorkommt:
Ja gut, aber das sind zwei verschiedene Fragen.

Gruß
drfg2008
Anzeige:Statistik und SPSS: Die besten Bücher
Als Buch oder E-Book - Jetzt bestellen
spss datenanalyse
SPSS - Moderne Datenanalyse - Jetzt bestellen!
statistik datenanalyse
Statistik - Der Weg zur Datenanalyse - Jetzt bestellen!
Antworten