当数据集具有跨列的月度数据时,SAS 会进行逐月比较

问题描述 投票:0回答:1

我有公司列表(gvkey)和年份(fyear)。根据每个公司年度的观察,我有跨列的每月销售额(列 sale_1 到 sale_12 表示 1 月销售额到 12 月销售额)。我想比较每个月的销售额(例如,一月到二月、二月到三月等),并为每个差异创建 11 组变量(例如,diff_2=sale_2-sale_1 等)。是否有数组或 do 循环可以用来创建这些变量,而不是通过 diff_12 写入 diff_2?

我正在考虑创建 proc sql 每月合并一次,但这听起来更长。

sas
1个回答
0
投票

如果您只想比较 SALES_1 和 SALES_2 那么这应该是微不足道的。

data want;
  set have;
  diff2 = sale_2 - sale_1;
  diff3 = sale_3 - sale_2;
  ...
run;

您可以创建几个数组并节省一些输入,但计算 11 个新变量似乎不值得。

© www.soinside.com 2019 - 2024. All rights reserved.