Sas 将数据转换为行、多列
我的数据如下所示:Sas 将数据转换为行、多列,sas,transpose,Sas,Transpose,我的数据如下所示: ID Month Variable 1 1 Y 1 2 N 1 3 Y 2 1 Y 2 2 Y 2 3 Y 我需要转换它,以便ID和month在行中,变量值在列中 输出数据: ID Month Variable_Y Variable_N 1 1 Y 1 2 N
ID Month Variable
1 1 Y
1 2 N
1 3 Y
2 1 Y
2 2 Y
2 3 Y
我需要转换它,以便ID和month在行中,变量值在列中
输出数据:
ID Month Variable_Y Variable_N
1 1 Y
1 2 N
1 3 Y
2 1 Y
2 2 Y
2 3 Y
如何做到这一点?使用PROC TRANSPOSE非常简单
proc transpose data=from out=transposed (drop=_name_)
prefix=variable_
;
by id month;
id variable;
var variable;
run;
或使用数据步骤:
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;
你试过PROC转置吗?再次发布您尝试的解决方案中的问题。