de Donnes sous SPPS 1. Cration d'un Fichier de Travail. La plupart du temps, les licLiers de donnees des grosses enquetes comportent plusieurs centaines de variables. Cr, dans le cadre d`un travail de recLercLe on peut etre amene a ne travailler que sur certaines variables. Par exemple, vous laites une etude sur la sante. Vos donnees sont situees dans le licLier santc.sav qui contient les variables suivantes : Nom Libell id Identifiant carnet Possde un carnet de sant consult A consult un mdecin au cours des 6 derniers mois datecons Date de la dernire consultation vacchb Vaccin contre hpatite B vaccha Vaccin contre hpatite A vaccroug Vaccin contre la rougeole vaccgrip Vaccin contre la grippe sida1 A dj entendu parler du sida sida2 A dj utilis un prservatif sida3 A dj fait un test de dpistage Votre recLercLe porte sur la vaccination. Vous n`avez donc pas besoin des variables stda1, stda2 et stda3. Il y a alors tout interet a creer un sous licLier de donnees que nous appellerons travat/.sav qui ne contiendra que les variables qui nous seront utiles. Lorsque l`on travaille sur de tres grosses bases de donnees, cela permet a l`ordinateur de lonctionner beaucoup plus rapidement. Pour cela, il laut ouvrir le licLier santc.sav dans l`editeur de donnees, puis ouvrir l`editeur de syntaxe. ous allons utilise la commande SAVE OUTIILE dont la syntaxe est detaillee dans l`Encadre 1 : Dans notre cas, nous souLaitons ne pas garder les variables stda1, stda2 et stda3. La syntaxe correspondante sera donc : SAVE OUTFILE='travail.sav' /DROP sida1 sida2 sida3. EXECUTE. Manipulation des Fichiers de Donnes sous SPSS 2 / 16 Encadr 1 SAVE OUTFILE SAVE OUTFILE=nom_du_fichier.sav /DROP var1 var2 var3 /KEEP var11 var12 var13 /RENAME anc_var21=nouv_var21 anc_var22=nouv_var22 . ncm_du_/tcbtcr.sav est le nom du licLier qui sera cree. delaut de precision, ce licLier sera place dans le meme repertoire que le licLier source. Les options /DRCP /KEEP et /REAME sont optionnelles. /DRCP exclut les variables var1, var2 et var3 et garde toutes les autres variables. /KEEP garde les variables var11, var12 et var13 et exclut toutes les autres variables. /REAME permet de renommer certaines variables au passage, anc_21 est ainsi renommee ncuv_var21. AJJEJIC : e pas oublier les points en lin de commande. Il ne reste plus qu`a selectionner les lignes de syntaxe : et a appuyer sur le bouton llecLe (en ayant bien verilier auparavant que le licLier cLarge dans l`editeur de donnees est santc.sav). Cr, la plupart du temps lorsque l`on travaille sur de grosses bases de donnees, le nombre de variable que l`on garde est inlerieur a celui que l`on exclut. Cn utilisera alors prelerentiellement l`option KEEP. Cela donnera la syntaxe suivante qui aboutit au meme resultat. Manipulation des Fichiers de Donnes sous SPSS 3 / 16 SAVE OUTFILE='travail.sav' /KEEP id carnet consult datecons vacchb vaccha vaccroug vaccgrip. EXECUTE. 2. Ajout de Variables. Supposons les donnees ont ete scindees en plusieurs licLier de donnees. Ainsi les caracteristiques individuelles sont situees dans un licLier tndtv.sav alors que les variables sur la sante sont dans le licLier travat/.sav que nous venons de creer. Le licLier tndtv.sav contient les variables suivantes : Nom Libell id Identifiant sexe Sexe age Age instruct Niveau d'instruction milieu Milieu de rsidence matri tat matrimonial Pour notre analyse, nous avons besoin des variables scxc, agc et mt/tcu. ous avons donc besoin de les incorporer a notre base de donnees travat/.sav. Pour cela, il est imperatil que les deux licLiers de donnees aient le meme identiliant, ce qui est la cas ici avec la variable td. Manipulation des Fichiers de Donnes sous SPSS 4 / 16 2.1 Trier les Observations. Avant de commencer, il laut trier les observations des deux licLiers selon l`identiliant : Cuvrir le licLier tndtv.sav. Cliquer dans le menu sur Dcnnccs Trtcr /cs cbscrvattcns. Selectionner la variable td par ordre croissant. Cliquer sur OK. Enregistrer le licLier de donnees. Recommencer avec le licLier travat/.sav. Il est egalement possible d`avoir recours a la syntaxe suivante : SORT CASES BY id (A). EXECUTE. Encadr 2 SORT CASES SORT CASES BY var1 (A ou D) var2 (A ou D). Cette commande trie les observations du licLier courant tout d`abord selon var1 puis selon var2 si deux observations ont la meme valeur pour var1. Entre parentLeses est indique par un A si le tri est ascendant (croissant) et par un D si le tri est descendant (decroissant). Excmp/c : SORT CASES BY nom (A) age (D). trie les observations selon le nom de maniere croissante. Si plusieurs observations ont le meme nom, elles sont triees selon l`age de maniere decroissante. Manipulation des Fichiers de Donnes sous SPSS 5 / 16 2.2 Ajouter les Variables. ous allons avoir recours a la commande Dcnnccs Iustcnncr dcs /tcbtcrs Acutcr dcs vartab/cs.. Encadr 3 Ajout de variables Ajouter des variables permet de lusionner le licLier de donnees actil avec un licLier de donnees SPSS externe qui contient les memes observations mais pas les memes variables. Par exemple, vous souLaitez lusionner un licLier de donnees contenant les resultats d'un test prealable avec un autre licLier contenant les resultats d'un test linal. Les observations doivent etre presentees dans le meme ordre dans les deux licLiers. Si une ou plusieurs cles d'appariement sont utilisees pour apparier les observations, les deux licLiers de donnees doivent presenter ces cles d'appariement par ordre croissant. Les noms de variable du second licLier, redondants avec les noms du licLier actil, sont exclus par delaut. En ellet, SPSS part du principe que ces variables contiennent des inlormations redondantes. Variables exclues : Variables a exclure du nouveau licLier lusionne. Par delaut, cette liste contient tous les noms de variable du licLier externe qui sont redondants avec ceux du licLier actil. Les variables du licLier actil sont identiliees par un asterisque ("). Les variables du licLier externe sont identiliees par un signe (). Si vous souLaitez inclure une variable exclue avec un nom redondant dans le licLier lusionne, vous pouvez le renommer puis l'ajouter a la liste des variables a inclure. Variables du nouveau licLier actil : Variables a inclure dans le nouveau licLier actil. Par delaut, tous les noms de variables uniques dans les deux licLiers sont inclus dans la liste. Cles d'appariement : Si certaines observations dans un licLier n'ont pas de concordance dans l'autre licLier (c'est-a-dire que certaines observations manquent dans un licLier), utilisez les cles d'appariement pour identilier et correctement apparier les observations des deux licLiers. Vous pouvez egalement utiliser ces cles avec des licLiers de consultation de table. Les cles d'appariement doivent avoir le meme nom dans les deux licLiers de donnees. Les deux licLiers de donnees doivent presenter les variables par ordre croissant ou decroissant et l'ordre des variables de la liste cles d'appariement doit etre le meme que l'ordre de tri. Les observations qui n'ont pas de correspondance dans les cles d'appariement sont inclus dans le licLier lusionne mais elles sont lusionnees avec les observations de l'autre licLier. Les observations sans correspondance contiennent des valeurs uniquement pour les variables du licLier duquel elles sont issues. Les variables de l'autre licLier contiennent la valeur manquante au systeme. Le licLier externe ou licLier actil est une table codee : \ne table codee ou un licLier de consultation de table, est un licLier dans lequel les donnees de " cLaque observation " peuvent s'appliquer a plusieurs observations de l'autre licLier. Par exemple, si un des licLiers contient des inlormations sur les dillerents membres d'une lamille (sexe, age, niveau scolaire) et l'autre des inlormations generales sur la lamille (revenu global, taille, Labitat), vous pouvez utiliser le licLier sur la lamille comme licLier de consultation et appliquer les inlormations generales a cLaque membre de la lamille dans le licLier lusionne. Manipulation des Fichiers de Donnes sous SPSS 6 / 16 Jout d`abord nous allons indiquer a SPSS qu`il doit aller cLercLer les variables supplementaires dans le licLier tndtv.sav. Dans notre cas, nous souLaitons ajouter les variables agc, mt/tcu et scxc. Les autres variables du licLier tndtv.sav, a savoir tnstruct et matrt sont donc a exclure. D`autre part, nous allons apparier les observations selon la variable td et considerer que le licLier externe est une table de consultation. ous obtenons donc la boite de dialogue suivante : Apres avoir cliquer sur OK, SPSS nous rappelle que les observations des deux licLiers doivent etre triees selon la cle d`appariement c`est-a-dire selon td. Si cela a ete lait, cliquer sur OK, sinon sur Annu/cr, trier les deux licLiers et recommencer l`operation. Manipulation des Fichiers de Donnes sous SPSS 7 / 16 Rcmarquc : Si les questions sur la sante n`ont ete posees qu`a certaines personnes de l`enquete et que le licLier santc.sav ne porte que sur ces personnes, alors il y aura plus d`observations dans tndtv.sav que dans santc.sav. Si pour l`analyse, vous avez besoin de tenir compte des personnes a qui les questions sur la sante n`ont pas ete posees, alors il vaut mieux cocLer l`option Lcs dcux /tcbtcrs /curntsscnt dcs cbscrvattcns. 3. Cration d'un Fichier Enfants. ous disposons egalement d`un licLier /cccndttc.sav comportant des donnees sur la lecondite des personnes enquetees. Ce licLier comporte les variables suivantes : Nom Libell id Identifiant nbenf Nombre d'enfants sexe$1 Sexe enfant 1 annee$1 Anne de naissance de l'enfant 1 dc$1 L'enfant 1 est-il dcd ? sexe$2 Sexe enfant 2 annee$2 Anne de naissance de l'enfant 2 dc$2 L'enfant 2 est-il dcd ? sexe$3 Sexe enfant 3 annee$3 Anne de naissance de l'enfant 3 dc$3 L'enfant 3 est-il dcd ? Pour les besoins de l`analyse, on peut avoir besoin d`un licLier cn/ants.sav ou cLaque observation porte sur un enlant. (Le meme probleme se pose lorsque l`on veut creer un licLier de trajets a partir d`un licLier de parcours migratoires, ou un licLier de maladies a partir d`un licLier recensant les dillerentes maladies qu`a eu un individu.) Manipulation des Fichiers de Donnes sous SPSS 8 / 16 3.1 Cration des Fichiers en fant1.sav, enfant2.sav et enfant3.sav. Dans un premier temps, il nous laut creer des sous licLiers pour cLaque rang de naissance, avant de lusionner ces dillerents sous licLiers en un seul. ous allons donc avoir recours a la commande SAVE OUTIILE. ous allons garder la variable td qui va nous etre indispensable par la suite, ainsi que la variable nbcn/. Dans le meme temps, nous allons renommer scxcS1 en scxc, annccS1 en anncc, dcS1 en dc, scxcS2 en scxc, etc. alin de pouvoir proceder par la suite a la lusion des licLiers. ous allons donc ecrire la syntaxe suivante : SAVE OUTFILE='enfant1.sav' /KEEP id nbenf sexe$1 annee$1 dc$1 /RENAME sexe$1=sexe annee$1=annee dc$1=dc . EXECUTE. SAVE OUTFILE='enfant2.sav' /KEEP id nbenf sexe$2 annee$2 dc$2 /RENAME sexe$2=sexe annee$2=annee dc$2=dc . EXECUTE. SAVE OUTFILE='enfant3.sav' /KEEP id nbenf sexe$3 annee$3 dc$3 /RENAME sexe$3=sexe annee$3=annee dc$3=dc . EXECUTE. Manipulation des Fichiers de Donnes sous SPSS 9 / 16 ATTENTION : avant d`executer la commande, il laut que le licLier actil soit bien /cccndttc.sav. D`autre part, une erreur courante consiste a oublier les points en lin de commande. Astucc : Pour gagner en temps, on peut ecrire la syntaxe pour le premier licLier, puis laire un copier/coller et enlin avoir recours a la commande Edtttcn Rcmp/accr alin de remplacer le 1 en 2, etc. Cependant, il convient d`etre vigilant et de bien relire l`ensemble de la syntaxe avant de l`executer. 3.2 Cration de la Variable Ra ng de Naissance. \ne inlormation importante est le rang de naissance qui etait lourni par l`extension $. Il nous laut donc lournir cette inlormation que nous n`avons plus. ous allons donc creer une variable rang dans cLacun des sous licLier, puisque nous savons que cLaque sous licLier contient des enlants de meme rang. Cuvrir le licLier cn/ant1.sav. Cliquer sur Trans/crmcr ca/cu/cr.. Mettre rang dans Vartab/c dcsttnattcn. Mettre 1 dans Exprcsstcn numcrtquc. Cliquer sur OK. Sauvegarder le licLier. Recommencer l`operation avec cn/ant2.sav en remplaant 1 par 2 dans Exprcsstcn numcrtquc, etc. Manipulation des Fichiers de Donnes sous SPSS 10 / 16 Joute cette operation peut-etre realisee en une lois avec la syntaxe suivante : GET FILE='enfant1.sav'. COMPUTE rang = 1 . EXECUTE . SAVE OUTFILE='enfant1.sav'. GET FILE='enfant2.sav'. COMPUTE rang = 2 . EXECUTE . SAVE OUTFILE='enfant2.sav'. GET FILE='enfant3.sav'. COMPUTE rang = 3 . EXECUTE . SAVE OUTFILE='enfant3.sav'. Ces lignes de commandes presupposent que tous les licLiers sont situes dans le meme repertoire et que celui-ci est le repertoire courant. Sinon, il laut nommer les licLiers avec leur cLemin complet d`acces. Encadr 4 GET FILE GET FILE = `nom_du_fichier.sav. Cette commande demande a SPSS de cLarger le licLier ncm_du_/tcbtcr.sav. AJJEJIC : si le licLier ne se trouve pas dans le repertoire courant, il laut donner son nom complet precisant le cLemin d`acces, somme par exemple 'C:\analyse\spss\travail.sav` . Encadr 5 COMPUTE COMPUTE var = formule. Cette commande permet de creer (ou de modilier) la variable var en lui allectant les valeurs calculees a partir de /crmu/c. /crmu/c peut contenir les operateurs numeriques courants, des lonctions, le nom d`autres variables. Pour plus de renseignements, se reporter a l`aide de SPPS. 3.3 Fusionner les Fichiers. ous allons maintenant lusionner tous les licLiers enlant en un seul, le licLier cn/ants.sav. Il est possible de passer par la bote de dialogue Dcnnccs Iustcnncr dcs /tcbtcrs Acutcr dcs cbscrvattcns.. Cette bote de dialogue permet d`ajouter des observations au licLier actuellement cLarge. Pour cela, il laut ouvrir le licLier cn/ant1.sav, ajouter les observations de cn/ant2.sav, ajouter celles de cn/ant3.sav puis utiliser la commande Itcbtcr Enrcgtstrcr scus. pour creer le licLier cn/ants.sav. Manipulation des Fichiers de Donnes sous SPSS 11 / 16 Dans le cas present, passer par l`editeur de syntaxe est beaucoup plus simple. Il sullit de saisir : ADD FILES /FILE='enfant1.sav' /FILE='enfant2.sav' /FILE='enfant3.sav'. EXECUTE. SAVE OUTFILE='enfants.sav'. Encadr 6 ADD FILES ADD FILES /FILE=fichier1.sav /FILE=fichier2.sav /FILE=fichier3.sav . EXECUTE. La lonction ADD IILES permet de creer un nouveau licLier de donnees comportant l`ensemble des observations de /tcbtcr1.sav, /tcbtcr2.sav et /tcbtcr3.sav. Si des variables ne sont pas communes aux deux licLiers, il est possible de les apparier en les renommant et en leur donnant le meme nom. Les options /DRCP, /KEEP et /REAME sont utilisable avec cette lonction (cl. Encadre 1). 3.4 Suppression des Observ ations vides. Il nous laut maintenant supprimer les observations vides resultant par exemple des enlants de rang + crees pour des personnes ayant moins de quatre enlants. Les observations a supprimer sont celles pour lesquelles rang est superieur a nbcn/. Prcmtrc mctbcdc : Cliquer sur Dcnnccs Sc/ccttcnncr dcs cbscrvattcns. CLoisir Sc/cn unc ccndtttcn /cgtquc. Cliquer sur le bouton St. Saisir rang<=nbenf. Cliquer sur Pcursutvrc. Manipulation des Fichiers de Donnes sous SPSS 12 / 16 Selectionner Supprtmccs. Cliquer sur OK. Scccndc mctbcdc : Saisir dans l`editeur de syntaxe la commande suivante : SELECT IF(rang <= nbenf). EXECUTE Encadr 7 SELECT IF SELECT IF (condition). EXECUTE. Selectionne les observations pour lesquelles ccndtttcn est realisee et supprime les autres. 3.5 Cration d'un Identifian t Enfant. Il est toujours prelerable d`avoir un identiliant unique pour cLaque observation que nous appellerons tdcn/. Dans le cas present, le plus simple est de reprendre l`identiliant de la mere et d`y rajouter le rang de l`enlant (ici sur un cLillre car le rang maximum est trois). Manipulation des Fichiers de Donnes sous SPSS 13 / 16 ous pouvons passer par Tran/crmcr Ca/cu/cr.. tdcn/ est calculer en laisant l`operation td"10rang. Il est possible au passage de delinit le libelle de la variable tdcn/ en cliquant sur Typc ct cttqucttc.. Cela se traduit dans l`editeur de syntaxe par : COMPUTE idenf = id*10+rang . VARIABLE LABELS idenf "Identifiant de l'enfant". EXECUTE . Encadr 8 VARIABLE LABELS VARIABLE LABELS var1 "Libell 1" var2 "Libell 2" var3 "Libell 3". Cette commande allecte le /tbc//c1 a la variable var1, le /tbc//c2 a la variable var2, etc. Cn notera que les libelles sont entre crocLets. Au passage, on peut en proliter pour corriger les libelles suivants de notre licLier. VARIABLE LABELS rang "Rang de l'enfant" sexe "Sexe de l'enfant" annee "Anne de naissance de l'enfant" dc "L'enfant est-il dcder ?". Manipulation des Fichiers de Donnes sous SPSS 14 / 16 3.6 Ajouts des Caractristiq ues du Parent. Pour les besoins de l`analyse, on peut avoir besoin de certaines caracteristiques du parent comme son age, son sexe, etc. Ces dillerentes caracteristiques sont celles du licLier tndtv.sav. La variable d`appariement entre cn/ants.sav et tndtv.sav sera la variable td. Le licLier tndtv.sav sera une table de consultation pour le licLier cn/ants.sav. Ainsi, on allectera a cLaque enlant les valeurs de son pere ou de sa mere. Jout d`abord, il nous laut trier notre licLier selon la variable td (cl. 2.1). Ensuite, cliquer sur Dcnnccs Iustcnncr dcs /tcbtcrs Acutcr dcs vartab/cs. (cl. 2.2). Il se trouve que deux variables ont le meme nom : scxc. ous allons donc renommer la variable scxc, du licLier tndtv.sav, scxcpar. Mettre scxc(f en surbrillance. Cliquer sur Rcncmmcr. Saisir sexepar. Cliquer sur Pcursutvrc. e pas oublier de passer scxcpar dans Ncuvcau /tcbtcr dc travat/. Selectionner Appartcr /cs cbscrvattcns sur /cs c/cs dcs /tcbtcrs trtcs. Selectionner Lc /tcbtcr cxtcrnc cst unc tab/c dc ccnsu/tattcn. Selectionner td comme C/c(sf d'appartcmcnt. Cliquer sur OK. Manipulation des Fichiers de Donnes sous SPSS 15 / 16 La syntaxe de commande correspondante est : MATCH FILES /FILE=* /TABLE='indiv.sav' /RENAME sexe=sexepar /BY id. EXECUTE. Encadr 9 MATCH FILES MATCH FILES /FILE=fichier_de_travail.sav /TABLE=table_de_consultation.sav /BY cl_dappariement . EXECUTE. Cette commande permet d`ajouter des variables issues de tab/c_dc_ccnsu/tattcn.sav a /tcbtcr_dc_travat/.sav selon la cle d`appariement c/c_d'appartcmcnt. Si /tcbtcr_dc_travat/ est le licLier cLarge dans l`editeur de donnees, alors remplacer /IILE-`/tcbtcr_dc_travat/.sav` par /IILE-" . Il est possible d`utiliser les options /DRCP et /REAME. 3.7 Fichier de Syntaxe. Bien que l`editeur de syntaxe, requerant un minimum de programmation, soit d`un usage plus delicat que les botes de dialogue, il presente l`avantage de pouvoir sauvegarder les operations ellectuees sous lorme d`un licLier de syntaxe. En cas de probleme, il est alors possible de relaire toute l`operation en un instant. Il sullit d`ouvrir le licLier de syntaxe, de cLoisir Exccutcr Tcut pour que le licLier enlants soit de nouveau creer a partir des licLiers sources. Cn notera que la majorite des botes de dialogue de SPPS dispose du bouton Cc//cr. Celui-ci permet, apres avoir rempli les dillerentes valeurs necessaires dans la bote de dialogue, de copier dans l`editeur de syntaxe la syntaxe correspondante aux valeurs saisies dans la bote de dialogue. Manipulation des Fichiers de Donnes sous SPSS 16 / 16 L`ensemble de la creation du licLier enlants peut se resumer par le licLier de syntaxe suivant : GET FILE='fecondite.sav'. SAVE OUTFILE='enfant1.sav' /KEEP id nbenf sexe$1 annee$1 dc$1 /RENAME sexe$1=sexe annee$1=annee dc$1=dc. EXECUTE. SAVE OUTFILE='enfant2.sav' /KEEP id nbenf sexe$2 annee$2 dc$2 /RENAME sexe$2=sexe annee$2=annee dc$2=dc. EXECUTE. SAVE OUTFILE='enfant3.sav' /KEEP id nbenf sexe$3 annee$3 dc$3 /RENAME sexe$3=sexe annee$3=annee dc$3=dc. EXECUTE. GET FILE='enfant1.sav'. COMPUTE rang = 1 . EXECUTE . SAVE OUTFILE='enfant1.sav'. GET FILE='enfant2.sav'. COMPUTE rang = 2 . EXECUTE . SAVE OUTFILE='enfant2.sav'. GET FILE='enfant3.sav'. COMPUTE rang = 3 . EXECUTE . SAVE OUTFILE='enfant3.sav'. ADD FILES /FILE='enfant1.sav' /FILE='enfant2.sav' /FILE='enfant3.sav'. EXECUTE. SAVE OUTFILE='enfants.sav'. SELECT IF(rang <= nbenf). EXECUTE . COMPUTE idenf = id*10+rang . VARIABLE LABELS idenf "Identifiant de l'enfant" rang "Rang de l'enfant" sexe "Sexe de l'enfant" annee "Anne de naissance de l'enfant" dc "L'enfant est-il dcder ?". EXECUTE . GET FILE='indiv.sav'. SORT CASES BY id (A) . EXECUTE. SAVE OUTFILE='indiv.sav'. GET FILE='enfants.sav'. SORT CASES BY id (A) . EXECUTE. SAVE OUTFILE='enfants.sav'. MATCH FILES /FILE=* /TABLE='indiv.sav' /RENAME sexe=sexepar /BY id. EXECUTE. SAVE OUTFILE='enfants.sav'.