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



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

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;

最新更新