楼主: unimi
5538 3

[其他] 怎样补全非平行面板数据? [推广有奖]

  • 0关注
  • 0粉丝

初中生

28%

还不是VIP/贵宾

-

威望
0
论坛币
80 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
185 点
帖子
10
精华
0
在线时间
2 小时
注册时间
2008-12-9
最后登录
2011-6-5

楼主
unimi 发表于 2009-3-2 20:01:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我需要处理三维的面板数据,比如中国某一年从某个国家进口的某个产品。我想整理成一个平行面板,包括全部产品(50个),全部国家(20个),全部年份(5年)。但现在有的是非平行的数据,即并不是所有国家都向中国出口某个产品。请问大牛们在stata下用什么命令可以补全?(用了egen产生panel identifier, egen id=group(product country), 而且用tsfill, full补全了时间序列上的缺失)
二维码

扫码加我 拉你入群

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

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

关键词:面板数据 Product Country Identi produc country product 中国 国家 产品

沙发
sanchao 发表于 2009-3-10 23:27:00
我也遇到过同样的问题,使用tsset var1 var2. tsfill,full之后仍然没有不全时间序列上的数据

藤椅
arlionn 在职认证  发表于 2009-3-11 08:44:00

初步思路如下:

1. 手工产生一个新的文件,里面包含三个变量 id(国家代码) year(年度) code(产品代码),保存id.dta;

2. 把你的数据文件中的上述三个标识性变量定义成与上述变量相同的取值;

3. merge id year code using id.dta.

  clear
  local N = 20  /*填入国家个数*/
  local T = 5    /*年数*/
  local Q = 50  /*产品数*/
  local obs = `N'*`T'*`Q'
  set obs `obs'
 
  egen id = seq(), from(1) block(`=`T'*`Q'')
  egen year = seq(), from(2001) block(`Q')
  egen code = seq(), from(1) to(50)
 
  sort id year code
  save id.dta, replace
 
  use ……, clear
  egen id = group(国家代码)
  ……
 
  sort id year code
 
  merge id year code using id.dta

板凳
unimi 发表于 2009-3-15 04:28:00
呵呵,还是连老师比较厉害阿。我的解决方法是让学计算机的朋友写了个c++程序,算是曲线救国吧。。。

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

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