我希望将以下数据转换为适当的格式,以执行两个独立的样本t检验。
data delete;
input betdate : datetime. stake1 stake2;
format betdate DATETIME.;
datalines;
12NOV2008:12:04:01 10 15
04NOV2008:09:03:44 20 25
07NOV2008:07:03:33 1 2
05NOV2008:09:00:00 0.5 0.75
05NOV2008:09:05:00 1 2
07NOV2008:14:03:33 1 2
05NOV2008:09:00:05 20 40
07NOV2008:16:03:33 1 2
07NOV2008:18:03:33 1 3
09NOV2008:10:05:10 0.7 0.1
15NOV2008:15:05:33 10 3
15NOV2008:15:05:33 1 0.1
15NOV2008:15:05:33 0.1 0.01
run;
PROC PRINT; RUN;
如何将其转置为以下结构? SAS不允许我调用新变量'1'和'2'?
data delete;
input betdate : datetime. stakeNumberFlag stake;
format betdate DATETIME.;
datalines;
12NOV2008:12:04:01 1 10
12NOV2008:12:04:01 2 15
04NOV2008:09:03:44 1 20
04NOV2008:09:03:44 2 25
07NOV2008:07:03:33 1 1
07NOV2008:07:03:33 2 2
05NOV2008:09:00:00 1 0.5
05NOV2008:09:00:00 2 0.75
05NOV2008:09:05:00 1 1
05NOV2008:09:05:00 2 2
07NOV2008:14:03:33 1 1
07NOV2008:14:03:33 2 2
05NOV2008:09:00:05 1 20
05NOV2008:09:00:05 2 40
07NOV2008:16:03:33 1 1
07NOV2008:16:03:33 2 2
07NOV2008:18:03:33 1 1
07NOV2008:18:03:33 2 3
09NOV2008:10:05:10 1 0.7
09NOV2008:10:05:10 2 0.1
15NOV2008:15:05:33 1 10
15NOV2008:15:05:33 2 3
15NOV2008:15:05:33 1 1
15NOV2008:15:05:33 2 0.1
15NOV2008:15:05:33 1 0.1
15NOV2008:15:05:33 2 0.01
run;
PROC PRINT; RUN;
我这样做但是没有用:
proc sort data=tableOutput; by betdate; run;
proc transpose data=tableOutput out=tableOutput;
var 1 2;
by betdate;
run;
答案 0 :(得分:1)
data transposed_view / view=transposed_view;
length betdate 8 stakeNumberFlag 3 stake 8;
set
delete (drop=stake2 rename=(stake1=stake) in=s1 )
delete (drop=stake1 rename=(stake2=stake))
;
if s1 then stakeNumberFlag= 1;
else stakeNumberFlag= 2;
run;
proc sort data=transposed_view out=transposed;
by betdate stakeNumberFlag;
run;