楼主: lizixuan1213
1844 1

[编程问题求助] STATA日期缺失数据插值 [推广有奖]

  • 0关注
  • 0粉丝

小学生

21%

还不是VIP/贵宾

-

威望
0
论坛币
6 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
146 点
帖子
4
精华
0
在线时间
3 小时
注册时间
2014-1-26
最后登录
2017-3-25

楼主
lizixuan1213 发表于 2017-3-25 20:30:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
Stata新手,先向各位前辈大牛了请教!!
我有一个包括商品名称、商品编号、商品价格和其他信息的数据库。由于我们的数据库在采集的过程中只记录了商品价格变动时的数据,自动剔除了商品价格没有变化的数据,为了做实证,现在需要通过STATA补齐当时剔除的数据。
补齐的规则是:
单个商品最晚一次出现在数据库中和最早出现在数据库中的时间间隔为单个商品在我们数据库中的观测周期,虽然一方面这个做法可保证单个商品最早最晚的数据信息一定存在,但也带来了每件商品的观测周期不同,没有办法一次性处理这个问题。在单个商品观测周期内部,数据采集过程中记录下来的数据信息呈离散分布。如果观测周期内的某一天有记录下对应的商品的信息则保持此条信息不变;如果某一天没有创建某一商品的数据信息则采用上一天(条)同商品的除日期以外的所有信息。单个商品在观测周期内数据填充循环进行,直到填充到商品最晚出现数据信息的前一天,然后继续下一个商品的数据填充。
数据长这样
商品名称    价格     日期   
aaaa           31        2016-10-01
aaaa           34        2016-12-03
aaaa           39        2016-12-09
bbbb           33        2014-3-01
bbbb           33        2014-3-04
bbbb          33        2014-3-15
bbbb           33        2014-3-26
谢谢各位大神!!!

二维码

扫码加我 拉你入群

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

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

关键词:Stata 缺失数据 tata 数据插值 stata新手 数据采集 STATA

处理后.jpg (1.76 MB)

处理后.jpg

处理前.jpg (541.27 KB)

处理前.jpg

沙发
黃河泉 在职认证  发表于 2017-3-26 15:48:56
请试试(William Lisowski 建议的)
  1. clear
  2. input str4 name price str12 date
  3. A           34        "2016-12-03"
  4. A           39        "2016-12-06"
  5. A           41        "2016-12-10"
  6. B           33        "2015-3-01"
  7. B           37        "2015-3-04"
  8. B           36        "2015-3-08"
  9. end

  10. gen d = date(date, "YMD")
  11. format d %td

  12. sort name d // make sure they're sorted to begin with
  13. expand d[_n+1]-d if name[_n+1] == name
  14. sort name d // get the new ones sorted in with the old ones
  15. bys name (d): replace d = d[_n-1] + 1 if _n > 1
复制代码

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-31 15:45