Zufälliges löschen von Fällen innerhalb mehrerer Gruppen

Alles rund um SPSS Syntax und Programmierung.

Zufälliges löschen von Fällen innerhalb mehrerer Gruppen

Beitragvon Tianchris » Do 15. Aug 2019, 15:20

Liebe SPSS-Forums-Mitglieder*innen,

ich bin neu hier, hole mir aber immer mal wieder Tipps und Hilfe durch bestehende Forenbeiträge. Deshalb an dieser Stelle schon mal Danke an alle "Problemlöser"!
Mein Problem habe ich noch in keinem Forum gefunden, daher melde ich mich. Ggf. wird es durch die Überschrift auch nicht 100% getroffen. Hier meine Problemstellung, das ich gerne mit einem/mehrerer Syntaxbefehlte lösen würde (deshlab mein Eintrag in dieses Forum, ggf. kann ich hier aber auch falsch sein):

Ich möchte gerne aus einem großen Datensatz doppelte Fälle innerhalb einer Gruppe durch ein Zufallsprinzip löschen. Anders ausgedrückt, in meinem großen Datensatz gibt es eine Variable, in der viele unterschiedliche kleine Gruppen - vielleicht auch Cluster, bin mir bei dem Begriff nicht 100% sicher- sind. Aus diesen Gruppen möchte ich gerne zufällig einen Fall behalten bzw. alle Fälle, bis auf den einen zufällig ausgesuchten, löschen. Der Fokus liegt darauf, dass dieser Fall zufällig von SPSS bestimmt wird.
Die Datenstruktur sieht so aus, dass innerhalb dieser Variable ein Wert einmal bis elfmal oder noch häufiger auftauchen kann.

Falls meine Herangehensweise falsch ist, hier der Kontext der Problemstellung:
Ich arbeite zur Zeit an einem großen Datensatz mit über einer 1.000.000.000 Fälle. In diesem Datensatz kann jeder Fall einer bestimmten Person zugeordnet werden (sagen wir durch Variable Identität). Einige der Personen tauchen häufiger im Datensatz auf, einige nur einmal. Ich möchte nun, dass jede Person nur einmal auftaucht, ABER das diese eine Person zufällig durch SPSS bestimmt wurde.

Ich hoffe konnte mein Problem ausreichend verständlich beschreiben, ich bin sehr dankbar für Hilfestellungen, noch lieber in Syntaxform!

Viele Grüße
Tianchris
Tianchris
 
Beiträge: 9
Registriert: Do 15. Aug 2019, 14:32
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Zufälliges löschen von Fällen innerhalb mehrerer Gruppen

Beitragvon ponderstibbons » Do 15. Aug 2019, 15:33

Zufallsvariable berechnen, dann mit AGGREGIEREN und der break-Variable "Identität" eine weitere Variable berechnen, die den höchsten Wert der Zufallsvariable innerhalb eines Identitäts-Clusters enthält, dann alle Fälle löschen, bei denen die 1. neue Variable nicht gleich der 2. neuen Variable ist.

oder

Zufallsvariable berechnen, dann alle Fälle der Datei nach 1.) Identität und 2.) Wert der Zufallsvariable sortieren, dann Fälle auswählen, bei denen gilt
Identität ne LAG(Identität) OR $casenum=1, die übrigen löschen.

HTH

PonderStibbons
ponderstibbons
 
Beiträge: 2472
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 1
Danke bekommen: 255 mal in 254 Posts

Re: Zufälliges löschen von Fällen innerhalb mehrerer Gruppen

Beitragvon Tianchris » Do 15. Aug 2019, 15:51

Danke schonmal.
Ich gucke mal ob ich das auf die Reihe bekomme und das gewünschte Ergebniss dabei heraus kommt!
Grüße
Tianchris
Tianchris
 
Beiträge: 9
Registriert: Do 15. Aug 2019, 14:32
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Zufälliges löschen von Fällen innerhalb mehrerer Gruppen

Beitragvon Tianchris » Mo 19. Aug 2019, 12:04

Zufallsvariable berechnen, dann alle Fälle der Datei nach 1.) Identität und 2.) Wert der Zufallsvariable sortieren, dann Fälle auswählen, bei denen gilt
Identität ne LAG(Identität) OR $casenum=1, die übrigen löschen.

HTH

PonderStibbons[/quote]

Hallo PonderStibbons,
ich habe mich für diese Version entschieden. Es hat so funktioniert wie es funktionieren sollte.
Vielen Dank für die schnelle, kompetente und unkomplizierte Hilfe!

Tianchris
Tianchris
 
Beiträge: 9
Registriert: Do 15. Aug 2019, 14:32
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post


Zurück zu SPSS Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron