我正在尝试转换下面的数据集。
Date Data1 Data2 Category
Dec-2012 59 12 Red
Dec-2012 31 91 Blue
Jun-2014 11 71 Red
Aug-2015 51 85 Yellow
Aug-2015 16 66 Blue我想将此数据转换为以下内容
Date | RedData1| RedData2 | BlueData1 |BlueData2 |YellowData1 | YellowData2
Dec-2012 | 59 | 12 | 31 | 91 | |
Jun 2014 | 11 | 71 | | | |
Aug 2015 | | | 16 | 66 | 51 | 85我该如何使用proc sql来实现这一点?或任何其他的SAS代码?
发布于 2019-04-17 01:23:04
数据形状转换可以使用两个转置步骤来实现。
data1和data2值矢量化为单个列,同时维护date和category category-通过date使用category和_name_作为标识变量透视数据值,从而生成输出列名。示例:
data have;
input Date monyy7. Data1 Data2 Category $;
format date monyy7.;
datalines;
Dec2012 59 12 Red
Dec2012 31 91 Blue
Jun2014 11 71 Red
Aug2015 51 85 Yellow
Aug2015 16 66 Blue
run;
proc transpose data=have out=step1;
by date category notsorted;
var data1 data2;
run;
proc transpose data=step1 out=want;
by date;
id category _name_;
var col1;
run; https://stackoverflow.com/questions/55712941
复制相似问题