楼主: qyj8888
2777 5

求助:如何在数据集中插入缺失的时间观测值? [推广有奖]

  • 0关注
  • 0粉丝

博士生

67%

还不是VIP/贵宾

-

威望
0
论坛币
999 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1168 点
帖子
182
精华
0
在线时间
406 小时
注册时间
2008-10-20
最后登录
2022-6-8

楼主
qyj8888 发表于 2009-12-10 19:47:07 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
如题:在研究年底股数时,现在只下到股数变动时间和数量,现在把没有变动的年份补上,等于上次未变动之前的,应该如何操作?
                                              谢谢!
     例如:  

date                 shares
19990704       200000
  20000604      300000
  20030501      450000
20080603        600000


想在20000604后面加2001、2002年底的数据,等于200000;
同理20030501后面的缺失也一样加上观测值,最后数据集变为

date                 shares
19990704       200000
  20000604      300000
20011201         300000
20021201         300000
  20030501      450000
20041201         450000
20051201          450000
20061201          450000
20071201           450000
20080603        600000
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:观测值 数据集 Shares share date 求助 数据 时间 缺失 观测

回帖推荐

lwien007 发表于5楼  查看完整内容

本帖被以下文库推荐

沙发
oycc 发表于 2009-12-10 19:56:34
是确实没有这些数据吗?如果真是这样,简单地处理就采用线性插值咯,不过最好是找到这方面的数据。

藤椅
oycc 发表于 2009-12-10 20:14:00
我又仔细看了以下,你采用不动的那种插值法显然不如线性插值好,因为你没有反映shares随时间的变化

板凳
qyj8888 发表于 2009-12-11 10:00:54
oycc 发表于 2009-12-10 20:14
我又仔细看了以下,你采用不动的那种插值法显然不如线性插值好,因为你没有反映shares随时间的变化
那不动插值在SAS中如何实现?

报纸
lwien007 发表于 2009-12-11 12:50:29
  1. data tmp;
  2.         input date:yymmdd8. shares;
  3.         format date yymmddn8.;
  4.         datalines;
  5. 19990704       200000
  6. 20000604      300000
  7. 20030501      450000
  8. 20040112        500000
  9. 20080603        600000
  10. ;
  11. run;

  12. data result(drop=temp:last:);
  13.         set tmp;
  14.         tempdate=date;
  15.         tempshares=shares;
  16.         lastyear=year(lag(date));
  17.         lastshares=lag(shares) ;
  18.         if year(date)>lastyear+1 and _n_>1 then do;
  19.                 do until(lastyear=year(tempdate)-1);
  20.                         lastyear+1;
  21.                         shares=lastshares;
  22.                         date=mdy(12,01,lastyear);
  23.                         output;
  24.                 end;
  25.                 date=tempdate;
  26.                 shares= tempshares;
  27.                 output;
  28.         end;
  29.         else output;
  30. run;
复制代码
已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 3 精彩帖子

总评分: 经验 + 3  论坛币 + 3   查看全部评分

地板
qyj8888 发表于 2009-12-11 13:20:24


厉害,谢谢!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 12:01