| Date: | Wed, 3 Jan 2001 10:36:50 -0500 |
| Reply-To: | "Fehd, Ronald J." <rjf2@CDC.GOV> |
| Sender: | "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU> |
| From: | "Fehd, Ronald J." <rjf2@CDC.GOV> |
| Subject: | Re: CODE BOOK FROM an as yet undocumented SAS DATA SET |
|
| Content-Type: | text/plain; charset="iso-8859-1" |
|---|
> From: Kevin F. Spratt [mailto:kevin-spratt@UIOWA.EDU]
> I just received an SPSS portable file and have used the
> convert procedure to create a SAS data set. I am
> using SAS 8.1 under WinNT.
>
> My question is how I can create an output data set with
> all of the variable names in one column so that I can
> send this back to the student so that they can write in
> appropriate variable name labels and, based on the frequency
> table I send, assign formats for each variable.
>
> For example: in a two variable data set:
> variable, label=, , format:,
> id , label=,subject id , format:,.
> sex , label=,subject gender , format:,0=Male, 1=Female
>
> If there is a better way, I would be glad to hear it.
you can start with proc CONTENTS
either take the output text and work with that
or create a data set from CONTENTS and run it thru either PRINT or report
writer
proc CONTENTS data = LIBRARY.WHATEVER
out = CONTENTS
(keep = Name Format Label Length
);
you will want to specify whether a variable is character or numeric
and its appropriate length.
in your above example, sex may be numeric, and its default length would be 8
bytes
since this is clearly a binary-valued variable and could be stored as an
integer
you could store it in at most 4 bytes and depending on your system either as
few as 2 or 3.
you want real space savings: use character 1.
and by the way: zero is Female, one is Male
gotta keep the Yin and Yang straight even in the data world ;-)
Ron Fehd the Yin&Yang maven CDC Atlanta GA USA RJF2@cdc.gov
OpSys: WinNT Ver: 8.1
---> cheerful provider of UNTESTED SAS code!*! <---
e-mail your SAS improvements to: suggest@sas.com
archives: http://www.listserv.uga.edu/archives/sas-l.html
If you always try to be logical,
you probably won't ever have much sorrow,
or much fun.
-- Ashleigh Brilliant pot-shot #4438
|