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 (November 2006, week 1)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Fri, 3 Nov 2006 22:17:08 +0000
Reply-To:     toby dunn <tobydunn@HOTMAIL.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         toby dunn <tobydunn@HOTMAIL.COM>
Subject:      Re: transpose
Comments: To: zhangyu05@GMAIL.COM
In-Reply-To:  <445d9dbe0611031257x47dfda62q440b582e86d1211@mail.gmail.com>
Content-Type: text/plain; format=flowed

Yu ,

They are undocumented values that started some where around V6. something which means UpCase and Justify, seems the SI peeps need to add these to the online docs.

Toby Dunn

You never know what is enough, until you know what is more than enough. ~William Blake, Proverbs of Hell

When the student is ready, the master appears. ~Buddhist Proverb

Only that in you which is me can hear what I'm saying. ~Baba Ram Dass

From: Yu Zhang <zhangyu05@GMAIL.COM> Reply-To: Yu Zhang <zhangyu05@GMAIL.COM> To: SAS-L@LISTSERV.UGA.EDU Subject: Re: transpose Date: Fri, 3 Nov 2006 14:57:35 -0600

Hi, Data _null,

I learned lots useful stuffs from your recently posts about creating fromat from datasets. Could you explain what does 'UJ' mean in HLO option? I searched the onlinedoc and these two are not specifyed.

Thanks!

Yu

On 11/3/06, data _null_; <datanull@gmail.com> wrote: > >To follow up on Mr. Cassell's excellent advice, here is a little >example using an INFORMAT to read the values of site and "look-up" the >V code associated with it. > >In this example you can ignore the use of my second favorite procedure >PLAN and concentrate on creating the format that will code the SITES. >You will need to consult the documentation for PROC FORMAT. > > >proc plan seed=11235811; /* test data */ > factors > usubjid = 5 ordered > site = 4 of 7 random > / noprint; > output > out=work.site > site cvals=('Breast' 'Chest Wall' 'Chest Wall/Axil Nodes' >'Chest' 'Axilla' 'Lymph node' 'other') > ; > run; > >proc print; > run; >data work.Vcodes; > infile cards dsd missover; > retain fmtname 'VCODE' type 'J' hlo 'UJ'; > input label:$32. start:$quote32. @; > do while(not missing(start)); > start = upcase(start); > output; > input start:$quote32. @; > end; > cards; >V107,'Breast','Chest Wall','Chest Wall/Axil >Nodes','Chest','Axilla','Lymph node','other' >;;;; > run; >proc print; > run; >proc format cntlin=work.vcodes; > run; >data work.site; > set work.site; > length vcode $4; > vcode = input(site,$vcode.); > run; >proc print; > run; > > > > >On 11/3/06, David L Cassell <davidlcassell@msn.com> wrote: > > jessica.donato@GMAIL.COM wrote: > > > > > >hello. I have an efficiency problem and may not be thinking about this > > >properly: > > > > > >I just transposed a data that now contains 4 variables; (site1 site2 > > >site3 site4). > > > > > >In want to perform a logic statement like this: > > > > > >IF SITE in ('Breast','Chest Wall' ,'Chest Wall/Axil Nodes' , 'Chest' , > > >'Axilla', 'Lymph node', 'other') THEN V107= 2; > > >ELSE V107= 1; > > > > > >Does anyone know a quick way to program the variable SITE= site1 site2 > > >site3 site4. does this make sense? for instance i tried this below > > >but it doesnt seem right: > > > > > >IF SITE1 or site2 or site3 or site4 in ('Breast','Chest Wall' ,'Chest > > >Wall/Axil Nodes' , 'Chest' , > > >'Axilla', 'Lymph node', 'other') THEN V107= 2; > > >ELSE V107= 1; > > > > > >in addition i tried to rename site1, etc. to the same name with an > > >array and this wasnt working for me. any suggestion would be > > >appreciated! thanks > > > > I'm glad you're thinking about efficiency. One of the efficiencies > > I care the most about is 'programmer efficiency' - writing code that > > works, and writing less code that works at least as well, and > > writing cleaner code that make *my* life easier. I'm all about >'me'. :-) > > > > I would suggest that - in addition to the fine advice you have > > already received - you consider stepping back to the UN-transposed > > data. Then it may become a lot easier. > > > > > > if first.patientID then V107 = 1; > > if site in ('Breast','Chest Wall' ,'Chest Wall/Axil Nodes' , 'Chest' , > > 'Axilla', 'Lymph node', 'other') > > then V107+1; > > > > > > You might also think about formats here. SAS formats make > > great look-up tables, and it seems like you have a bunch of > > look-up tables to implement in your code. > > > > HTH, > > David > > -- > > David L. Cassell > > mathematical statistician > > Design Pathways > > 3115 NW Norwood Pl. > > Corvallis OR 97330 > > > > _________________________________________________________________ > > Try Search Survival Kits: Fix up your home and better handle your cash >with > > Live Search! > > >http://imagine-windowslive.com/search/kits/default.aspx?kit=improve&locale=en-US&source=hmtagline > > >

_________________________________________________________________ Find a local pizza place, music store, museum and more…then map the best route! http://local.live.com?FORM=MGA001


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