将数据集与重命名的变量组合

Combining datasets with renamed variables

我有一个数据集,其中包含两个特定时间轴内调查问题的答案。我想加入这些数据集,但变量名是相同的。 如何更改两个数据集中的变量名称以便成功加入它们?

ID Q1 Q2 Q3 Q4 等等...

我想在其中添加年份“1995”,这样它就变成了 1995Q1 199Q2 等等。 我想为另一个数据集说 1997。

data test;
rename q1 = 1995q1; * and so on this will continue *
set test.one;
run;
proc print data =test;
run;

但是如果我有超过 50 个问题,它会花很长时间。执行此重命名方法然后加入两个数据集的有效方法是什么

我建议改为堆叠数据。这样在长运行中做分析就更容易了。确保为年份添加一个变量。这仅在 Q1 跨时间相同时才有意义。

data stacked;
   set y1995 (in=a)
       y2015 (in=b);
if a then year=1995; else year=2015;
run;

否则,您可以使用变量列表重命名 - 假设您的名称一致。

rename q1-q50 = Y1995_Q1 - Y1995_Q50;