使用sas proc转置将行拆分为两列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用sas proc转置将行拆分为两列相关的知识,希望对你有一定的参考价值。

我有一个看起来像这样的数据集:

unit   A1  B1  A2 B2  A3  B3  ....
  .
  .
  .

我需要将其转换为:

unit   A   B
  1
  2
  3

我可以单独转置每个:

proc transpose data=test OUT=TESTOUT;
   var A1-A5 B1-B5;
   BY UNIT;

但这给了我一长列而不是2

答案
proc transpose data=test out=test1(rename=(col1=dat));
by id;
var dat1-dat5;
run;

proc transpose data=test out=test2(rename=(col1=rec));
by id;
var rec1-rec5;
run;

data test3 (drop=_name_);
merge test1 test2;
by id;
run;

以上是关于使用sas proc转置将行拆分为两列的主要内容,如果未能解决你的问题,请参考以下文章

SAS实验室之PROC TRANSPOSE

如何从列转置到行?

如何在 Hive 中将一列拆分为两列

使用 r 将一列拆分为两列 [重复]

python 将字符串列拆分为两列

如何在熊猫中将一列拆分为两列