2017-06-08 1 views
0

J'ai une question concernant la préparation de mes données pour la recherche.Fusionner des doublons partiels sans perdre de données

J'ai un ensemble de données dans SPSS 20 en format long que je recherche sur le niveau individuel sur plusieurs années. Cependant, certaines personnes ont été ajoutées deux fois à mon ensemble de données parce qu'il y avait des différences dans certaines variables appariées à ces individus (5000 individus avec 25 variables par individu). J'aimerais fusionner ces doublons pour pouvoir analyser mon analyse au fil du temps. Pour les variables qui diffèrent entre les doublons, je voudrais que spss fasse des variables supplémentaires lorsque tous les doublons sont fusionnés.

Est-ce possible et si oui COMMENT?

Répondre

0

Je suggère les étapes suivantes>

  1. Créer une variable auxiliaire "PrimaryLast" avec procédure Data-> Identifier les cas en double par ..., définissez "Définir les cas correspondant par" à votre cas ID

  2. créer 2 nouveaux jeux de données auxiliaires avec Data-> Sélectionner cas avec l'état « PrimaryLast = 0 » et « PrimaryLast = 1 » et la sélection « Copier des cas sélectionnés pour nouvel ensemble de données »

  3. fusion les deux jeux de données auxiliaires avec procédure de données -> Me rge Files-> Ajouter des variables, renommer les noms de variables dupliqués dans la boîte de gauche et les déplacer dans la case de droite et sélectionnez votre ID de cas comme clé

  4. N'oubliez pas de contrôler si vous avez fait "full outer join", au cas où vous perdu cas non dupliquée et ont seulement des cas en double dans votre jeu de données, simplement fusionner des ensembles de données de l'étape 2. dans un ordre différent à l'étape 3.

+0

Merci pour la réponse rapide! Que voulez-vous dire par jointure externe complète? désolé juste un étudiant qui apprend encore les ficelles du spss! – instinct

+0

À l'étape 2. vous allez créer un ensemble de données avec tous les ID [PrimaryLast = 1] et ensemble de données avec sous-ensemble d'ID [PrimaryLast = 0]. Vous devez donc sélectionner le premier ensemble de données et fusionner avec le deuxième ensemble de données. Si vous sélectionnez un deuxième jeu de données et que vous le joignez au premier ensemble de données, vous perdrez des observations avec le second ensemble de données. –

+0

mon conseil est de travailler avec la syntaxe - https://www.spss-tutorials.com/spss-syntax-six-reasons-you-should-use-it/ –

0

Essayez ceci:

sort cases by caseID otherVar. 
compute ind=1. 
if $casenum>1 and caseID=lag(caseID) ind=lag(ind)+1. 
casestovars /id=caseID /index=ind. 

Si un caseID est répété plus d'une fois, après la restructuration, il y aura sur une ligne pour ce cas, alors que toutes les variables seront répétées avec des index. Si l'ordre de l'ID de casse se répète, remplacez otherVar dans la commande de tri par la variable correspondante (par exemple, date). De cette façon, vos nouvelles variables seront également indexées en conséquence.

+0

Merci maintenant j'ai un fichier de format long dans lequel je suis en effet n'a pas perdu d'information. Cependant, il n'est toujours pas clair comment je peux changer les variables et ensuite restructurer en long format pour faire mon analyse – instinct

+0

Il semble que ce que vous devez maintenant est varstocases, mais vous devriez poster une nouvelle question avec une description complète afin que vous puissiez obtenir une réponse complète. –