j******3 发帖数: 299 | 1 请问如何用proc expand 或者其他方法把时间序列里的gap填成"."? 比如某时间序
列的date可能是199001,199002,199102,199103,199104……,第二和第三个
observation之间有十个月的gap,我想在第二个和第三个observation之间填八个
observation,都是空,即".".
是为了做以下的数据筛选:
有一个panel data数据库(里面有n个entity,每个entity有一系列monthly时间序列
的observations,但是每个时间序列开始和结束的时间点都不一样,比如有的是从1980
年开始,到1990年结束,有的是从1926年开始,到2010年结束,而且不是连续的时间序
列,比如,某时间序列的date可能是199001,199002,199102,199103,199104……,
第二和第三个observation之间有十个月的gap)。现在要在每一年t开始时对这一年
January有observation的entity进行筛选,看t-5到t-1这五年里此entity的
observation数是不是多于24个,如果多于24个,这个entity在t这一年的数据都留下来
,如果不到,那这一年的数据都不要。我尝试用proc expand,但是当time series有gap
并且每个series的gap不一样时不知道怎么解决。
不好意思有点儿长,欢迎大家提各种解决方法~Any comment helps! | s*d 发帖数: 32 | 2 建一个新的data,只有一个变量 date, obs为你data最小的一个月一直到最大的一个月
然后你的data和这个新data merge by date
就可以自动填为空了 |
|