0

我的数据如下所示:

ID   Month  Variable
1     1        Y
1     2        N
1     3        Y
2     1        Y
2     2        Y 
2     3        Y

我需要转置它,使 ID 和月份在行中,而变量值在列输出数据中:

ID  Month   Variable_Y  Variable_N
1     1       Y
1     2                     N
1     3       Y
2     1       Y
2     2       Y
2     3       Y

我该怎么做呢?

4

2 回答 2

0

使用 PROC TRANSPOSE 非常简单。

proc transpose data=from out=transposed (drop=_name_)
 prefix=variable_
;
 by id month;
 id variable;
 var variable;
run; 
于 2013-10-18T13:56:37.150 回答
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;
于 2013-10-18T14:53:07.737 回答