Date: Wed, 2 May 2012 13:36:11 -0400
Reply-To: Arthur Tabachneck <art297@ROGERS.COM>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Arthur Tabachneck <art297@ROGERS.COM>
Subject: Re: help with transpose
Chris,
I think you are asking how to accomplishing something like:
data have;
input Visit Type Mean LCLM UCLM;
cards;
2 1 88.2 82.8002 93.5998
2 2 88.95 83.7087 94.1913
3 1 87.15 80.8302 93.4698
3 2 93.55 90.4587 96.6413
4 1 84.85 77.993 91.707
4 2 92.5 89.3167 95.6833
;
data fortranspose(keep = visit _name_ value) / view=fortranspose;
set have;
_name_ = cats('Mean_Type',put(type,1.));
value = Mean;
output;
_name_ = cats('LCLM_Type',put(type,1.));
value = LCLM;
output;
_name_ = cats('UCLM_Type',put(type,1.));
value = UCLM;
output;
run;
proc transpose data=fortranspose out=want(drop=_name_);
by visit;
var value;
run;
HTH,
Art
---------
On Wed, 2 May 2012 17:12:34 +0100, Chris Hunt <crh75@HOTMAIL.COM> wrote:
>Hi
>
>
>
>I am struggling to transpose some data.
>
>
>
>I have data that looks like this:
>
>
>
>
>Visit
>
>Type
>
>Mean
>
>LCLM
>
>UCLM
>
>
>2
>
>1
>
>88.2
>
>82.8002
>
>93.5998
>
>
>2
>
>2
>
>88.95
>
>83.7087
>
>94.1913
>
>
>3
>
>1
>
>87.15
>
>80.8302
>
>93.4698
>
>
>3
>
>2
>
>93.55
>
>90.4587
>
>96.6413
>
>
>4
>
>1
>
>84.85
>
>77.993
>
>91.707
>
>
>4
>
>2
>
>92.5
>
>89.3167
>
>95.6833
>
>
>
>And would like it to look like:
>
>
>
>
>Visit
>
>Mean_Type1
>
>LCLM_Type1
>
>UCLM_Type1
>
>Mean_Type2
>
>LCLM_Type2
>
>UCLM_Type2
>
>
>2
>
>88.2
>
>82.8002
>
>93.5998
>
>88.95
>
>83.7087
>
>94.1913
>
>
>3
>
>87.15
>
>80.8302
>
>93.4698
>
>93.55
>
>90.4587
>
>96.6413
>
>
>4
>
>84.85
>
>77.993
>
>91.707
>
>92.5
>
>89.3167
>
>95.6833
>
>
>
>
>
>Any help would be great.
>
>
>
>Many thanks,
>
>Chris
|