SAS将宽格式转换为长格式

时间:2019-03-14 13:31:24

标签: sas

我有一个SAS数据集,我需要将其从宽格式转换为长格式 我拥有的数据:

DATES  Year1   Year2   Year3
Jan      100    200     300

我想要的数据:

DATES  Year  Income
Jan     1      100
Jan     2       200
Jan     3       300

1 个答案:

答案 0 :(得分:1)

在这种情况下,proc transpose的语法非常简单。

proc transpose data=have out=want(rename=(_name_=Year col1=Income));
by date;
var year:; * the ':' is a wildcard character;
run;

结果输出:

Obs    date    Year    Income

 1     Jan     year1      100
 2     Jan     year2      200
 3     Jan     year3      300