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 (June 2004, week 2)Back to main SAS-L pageJoin or leave SAS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Mon, 14 Jun 2004 10:05:20 +0200
Reply-To:     "Groeneveld, Jim" <jim.groeneveld@VITATRON.COM>
Sender:       "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From:         "Groeneveld, Jim" <jim.groeneveld@VITATRON.COM>
Subject:      Re: Transpose Horizontal in Vertical
Comments: To: Thomas <tythong@YAHOO.COM>
Content-Type: text/plain; charset="iso-8859-1"

Hi Thomas,

An often posed question and discussed subject on SAS-L. You might search the archives for more info (e.g. using PROC TRANSPOSE). The easiest way for you would be something like:

* (*untested*) ; DATA Vertical (KEEP=ID Year VarX); SET Horizontal; ARRAY Var Var1 -- Var10; DO I = 1 TO 10; VarX = Var(I); OUTPUT; END; RUN;

Regards - Jim. -- . . . . . . . . . . . . . . . .

Jim Groeneveld, MSc. Biostatistician Science Team Vitatron B.V. Meander 1051 6825 MJ Arnhem Tel: +31/0 26 376 7365 Fax: +31/0 26 376 7305 Jim.Groeneveld@Vitatron.com www.vitatron.com

My computer didn't see Venus better than I did, but I didn't see it in reality.

[common disclaimer]

-----Original Message----- From: Thomas [mailto:tythong@YAHOO.COM] Sent: Monday, June 14, 2004 09:54 To: SAS-L@LISTSERV.UGA.EDU Subject: Transpose Horizontal in Vertical

Hi all,

May I know how to transpose the variables from horizontal into vertical by ID and YEAR? The example is illustrated as belows.

Thank you very much! Thomas

*input;

ID YEAR VAR1 VAR2 VAR3 VAR4 VAR5 VAR6 VAR7 VAR8 VAR9 VAR10 1 1 10 10 20 25 25 50 54 60 60 60 1 2 11 10 20 25 36 50 54 60 60 99 1 3 11 10 20 25 36 36 50 54 60 . 1 4 11 10 20 25 36 36 50 54 60 60 2 1 10 11 30 36 39 50 55 60 64 . 2 2 10 15 13 29 36 39 50 60 66 64

*desired output;

ID YEAR VARX 1 1 10 1 1 10 1 1 20 1 1 25 1 1 25 1 1 50 1 1 54 1 1 60 1 1 60 1 1 60 1 2 11 1 2 10 1 2 20 1 2 25 1 2 36 1 2 50 1 2 54 1 2 60 1 2 60 1 2 99 1 3 11 1 3 10 1 3 20 1 3 25 1 3 36 1 3 36 1 3 50 1 3 54 1 3 60 1 3 . 1 4 11 1 4 10 1 4 20 1 4 25 1 4 36 1 4 36 1 4 50 1 4 54 1 4 60 1 4 60 2 1 10 2 1 11 2 1 30 2 1 36 2 1 39 2 1 50 2 1 55 2 1 60 2 1 64 2 1 . 2 2 10 2 2 15 2 2 13 2 2 29 2 2 36 2 2 39 2 2 50 2 2 60 2 2 66 2 2 64


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