我的数据如下所示:
ID Month Variable
1 1 Y
1 2 N
1 3 Y
2 1 Y
2 2 Y
2 3 Y
我需要转置它,使得ID和月份在行中,而变量值在列中 Outputdata:
ID Month Variable_Y Variable_N
1 1 Y
1 2 N
1 3 Y
2 1 Y
2 2 Y
2 3 Y
我该怎么做?
由于
答案 0 :(得分:0)
使用PROC TRANSPOSE非常简单。
proc transpose data=from out=transposed (drop=_name_)
prefix=variable_
;
by id month;
id variable;
var variable;
run;
答案 1 :(得分:0)
或使用数据步骤:
data test_output (drop = variable);
set test_input;
format Variable_Y Variable_N $1.;
if variable = "Y" then do;
Variable_Y = "Y";
call missing (Variable_N);
end;
else if variable = "N" then do;
Variable_N = "N";
call missing (Variable_Y);
end;
run;