LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (October 2005)Back to main SPSSX-L pageJoin or leave SPSSX-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:   Thu, 27 Oct 2005 10:08:03 +0200
Reply-To:   Spousta Jan <JSpousta@CSAS.CZ>
Sender:   "SPSSX(r) Discussion" <SPSSX-L@LISTSERV.UGA.EDU>
From:   Spousta Jan <JSpousta@CSAS.CZ>
Subject:   Re: Creating cases genealogies
Comments:   To: lucameyer@tiscali.it
Content-Type:   text/plain; charset="iso-8859-1"

Hi Luca,

It would be a different task. First of all you should rethink and redefine the shape of the output data because the structure demanded by you is incompatible with the task. You have only one variable Family, but in this setting, one person (e.g. the grandfather) can be member of more families in the same time.

Greetings

Jan

-----Original Message----- From: SPSSX(r) Discussion [mailto:SPSSX-L@LISTSERV.UGA.EDU] On Behalf Of Luca Meyer Sent: Wednesday, October 26, 2005 5:51 PM To: SPSSX-L@LISTSERV.UGA.EDU Subject: R: I: Creating cases genealogies

Hello Jan,

First of all thank you very much for the syntax, it works and it allows me to define all descendants from an initial progenitor.

However, I was wondering if you can advise on any method to define different sequences starting from the same progenitor. That is actually what I meant by family, i.e. a sequence of persons defined by the last borned instead that by the first one.

So, for instance, what I need to define is that family 1 is made up of my grandfather, my father and myself; family 2 is made of my grandfather, my father and my brother; family 3 sequence: my grandfather, my uncle and my cousin; and so on...

Thanks! Luca

> -----Messaggio originale----- > Da: Spousta Jan [mailto:JSpousta@CSAS.CZ] > Inviato: marted́ 25 ottobre 2005 8.55 > A: lucameyer@tiscali.it; SPSSX-L@LISTSERV.UGA.EDU > Oggetto: RE: I: Creating cases genealogies > > > Hi Luca, > > try this: > > DATA LIST LIST /SubjectId FatherId NrBelonging BirthDate. > BEGIN DATA > 1 99 3 19471113 > 2 3 1 19701007 > 3 99 1 19650204 > 4 1 1 19720116 > 5 2 0 19980505 > 6 1 0 19750927 > 7 99 0 19270702 > 8 4 0 20030411 > 9 1 0 19781201 > 10 3 0 19951111 > END DATA. > > > recode FatherId (99=sysmis). > * it is much better to mark the missing fatherID by a missing than by > 99. > > > define geneal (). > > * assign family numbers - just a sequence 1, 2, ... > if ($casenum = 1) #fam = 1. > if ($casenum > 1) #fam = lag(#fam). > do if (missing(FatherId)). > - compute Family = #fam. > - compute #fam = #fam + 1. > - compute Level = 1. > end if. > > !do !i = 1 !to 10. > > * the limit of the loop is the maximum possible number of generations. > compute noassign = missing(Family). compute persno = FatherId. if not > missing(Family) persno = SubjectId. > exe. > sort cases by persno noassign. > > do if ($casenum > 1 & missing(Family) & not > missing(lag(Family)) & persno = lag(persno)). > - compute Family = lag(Family). > - compute Level = lag(Level) + (lag(noassign)=0). > end if. > exe. > > !doend. > dele var noassign persno. > > !enddefine. > > geneal. > > form all (f8). > > Greetings > > Jan > > -----Original Message----- > From: SPSSX(r) Discussion [mailto:SPSSX-L@LISTSERV.UGA.EDU] On Behalf > Of Luca Meyer > Sent: Monday, October 24, 2005 11:12 AM > To: SPSSX-L@LISTSERV.UGA.EDU > Subject: I: Creating cases genealogies > > I am not sure whether my prior message (it was in html > format) was correctly distributed to the mailing list so I post it > again. Apologizes if you should have already received it. > > Luca > > -----Messaggio originale----- > Da: Luca Meyer [mailto:lucameyer@tiscali.it] > Inviato: venerd́ 21 ottobre 2005 9.23 > A: 'SPSSX-L@LISTSERV.UGA.EDU' > Oggetto: Creating cases genealogies > > > Dear All, > > I have some data that indicate the dependencies between cases. More > specifically, for each case I have data about the case that originate > it (FatherId). I need to create genealogies, that is I need to add the > variables Family and > Level: while the earlier indicates genetical belongness from one > individual to another, the latter assigns value 1 to the founder of > the family, 2 to his/her son/daughter, 3 to his/her > grandchildren/grandaughter, ecc.... (I can have up to several > generations showing up in the database). > > For instance, in the following sample data subject 2 is son/daugther > of subject 3 and had has got one son/daugther - subject 5 - while > subject 7 has got no traced father and no > belongings: > > DATA LIST LIST /SubjectId FatherId NrBelonging BirthDate. > BEGIN DATA > 1 99 3 19471113 > 2 3 1 19701007 > 3 99 1 19650204 > 4 1 1 19720116 > 5 2 0 19980505 > 6 1 0 19750927 > 7 99 0 19270702 > 8 4 0 20030411 > 9 1 0 19781201 > 10 3 0 19951111 > END DATA. > > The data I have look like this: > > SubjectId FatherId NrBelonging BirthDate > 1,00 99,00 3,00 19471113 > 2,00 3,00 1,00 19701007 > 3,00 99,00 1,00 19650204 > 4,00 1,00 1,00 19720116 > 5,00 2,00 ,00 19980505 > 6,00 1,00 ,00 19750927 > 7,00 99,00 ,00 19270702 > 8,00 4,00 ,00 20030411 > 9,00 1,00 ,00 19781201 > 10,00 3,00 ,00 19951111 > Number of cases read: 10 Number of cases listed: 10 > The data I would like to obtain should look like this: > SubjectId FatherId NrBelonging BirthDate Family Level > > 1,00 99,00 3,00 19471113 1 1 > 2,00 3,00 1,00 19701007 2 2 > 3,00 99,00 1,00 19650204 3 1 > 4,00 1,00 1,00 19720116 1 2 > 5,00 2,00 ,00 19980505 2 3 > 6,00 1,00 ,00 19750927 1 2 > 7,00 99,00 ,00 19270702 4 1 > 8,00 4,00 ,00 20030411 1 3 > 9,00 1,00 ,00 19781201 1 2 > 10,00 3,00 ,00 19951111 3 3 > > Number of cases read: 9 Number of cases listed: 9 > Anyone has already developed a similar procedure? > TIA, > Luca > Mr. Luca MEYER > Survey research, data analysis & more: http://www.lucameyer.com/ > Tel: +390122854456 - Fax: +390122854837 - Mobile: + 393394950021 > > "If you can't feed a hundred people, then feed just one." - Mother > Teresa - www.thehungersite.com >


Back to: Top of message | Previous page | Main SPSSX-L page