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 1996, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Tue, 8 Oct 1996 18:00:42 +0100
Reply-To:     Hans-Peter Piepho <piepho@WIZ.UNI-KASSEL.DE>
Sender:       "SAS(r) Discussion" <SAS-L@UGA.CC.UGA.EDU>
From:         Hans-Peter Piepho <piepho@WIZ.UNI-KASSEL.DE>
Subject:      Re: A SUBSET QUESTION
Comments: To: ANDY_YUAN@SMTPLINK.MSSM.EDU

> Hi, friends, I need help for a data subsetting task: > > data: similar to the sample below > > want: for every id, capture every unit change. (e.g. for id=1, keep > date=960101, 960104; for id=2 keep date=960212, 960214, 960216...) > > > ID DATE UNIT > ... ... ... > 1 960101 A > 1 960102 A > 1 960103 A > 1 960104 B > 1 960105 B > 1 960106 B > 2 960212 A > 2 960213 A > 2 960214 B > 2 960215 B > 2 960216 A > 2 960217 A > 3 960123 C > 3 960124 C > 3 960125 C > 3 960126 C > 4 960303 B > 4 960304 B > 4 960305 A > 4 960306 A > 4 960307 C > 4 960308 C > 4 960309 C > 5 960511 A > 5 960512 B > 5 960513 B > 5 960514 A > 5 960515 A > ... ... ... > > Any suggestion will be appreciated. > > Andy > >

Try this:

DATA temp; INPUT id date unit $; CARDS; 1 960101 A 1 960102 A 1 960103 A 1 960104 B 1 960105 B 1 960106 B 2 960212 A 2 960213 A 2 960214 B 2 960215 B 2 960216 A 2 960217 A 3 960123 C 3 960124 C 3 960125 C 3 960126 C 4 960303 B 4 960304 B 4 960305 A 4 960306 A 4 960307 C 4 960308 C 4 960309 C 5 960511 A 5 960512 B 5 960513 B 5 960514 A 5 960515 A ; DATA result; DO i=1 TO last-1; SET temp POINT=i; unit_pre=unit; IF i=1 THEN OUTPUT; next=i+1; SET temp POINT=next NOBS=last; unit_nex=unit; IF unit_nex^=unit_pre THEN output; END; STOP;

PROC PRINT DATA=result; RUN;

OBS ID DATE UNIT UNIT_PRE UNIT_NEX

1 1 960101 A A 2 1 960104 B A B 3 2 960212 A B A 4 2 960214 B A B 5 2 960216 A B A 6 3 960123 C A C 7 4 960303 B C B 8 4 960305 A B A 9 4 960307 C A C 10 5 960511 A C A 11 5 960512 B A B 12 5 960514 A B A

Hans-Peter _______________________________________________________________________ Hans-Peter Piepho Institut f. Nutzpflanzenkunde WWW: http://www.wiz.uni-kassel.de/fts/ Universitaet Kassel Mail: piepho@wiz.uni-kassel.de Steinstrasse 19 Fax: +49 5542 98 1230 37213 Witzenhausen, Germany Phone: +49 5542 98 1248


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