【发布时间】:2018-05-01 18:16:53
【问题描述】:
假设我们仅限于使用 SAS 并且有一个面板/纵向数据集。我们有队列和时间指标,以及一些测量变量y。
data in;
input cohort time y;
datalines;
1 1 100
1 2 101
1 3 102
1 4 103
1 5 104
1 6 105
2 2 .
2 3 .
2 4 .
2 5 .
2 6 .
3 3 .
3 4 .
3 5 .
3 6 .
4 4 108
4 5 110
4 6 112
run;
请注意,群组和时间单位是相同的,因此如果数据集超出时间单位 6,则每个连续的面板单元将比其前一个时间段短一个时间段。
实际数据之间存在两个面板单元的差距。目标是从“夹心”它们的两个中线性插入两个缺失的面板单元(队列 2 和 3 的值)。对于时间 5 的群组 2,内插值应该是 0.67*104 + 0.33*110,而对于时间 5 的群组 3,它应该是 0.33*104 + 0.67*110。基本上,您只需为更近的面板单元加上实际值的 2/3 重量,为更远的面板单元重量 1/3。您当然会有缺失值,但对于这个玩具示例来说,这不是问题。
我想象解决方案涉及滞后和使用 first. 运算符和循环,但我的 SAS 太差了,我什至不愿提供我损坏的代码示例。
【问题讨论】:
-
发布您到目前为止所尝试的内容。你有 SAS/ETS 吗?
标签: sas panel-data linear-interpolation longitudinal