全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
13371 8
2011-04-10
刚刚接触stata. 之前都在用eviews. 刚开始就碰到个问题,请教各位。
我想要gen一个数据,是first differencing的。但是又要隔行减。譬如obs 1- obs2, 接着obs 3 - obs4, obs 5-obs6 ...... 请问如何能实现? 谢谢。


obs   family    twin          age
  1         1           1    33.25119
   2        1           2    33.25119
   3        2           1   43.57014
   4        2          2     43.57014
  5          3          1    30.98391
   6         3          2    30.98391
   7          4         1    35.21127
    8        4          2    35.21127
二维码

扫码加我 拉你入群

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

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

全部回复
2011-4-10 07:25:28
不明白,证明我们要好好学习
二维码

扫码加我 拉你入群

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

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

2011-4-10 10:08:25
clear
input obs   family    twin          age
  1         1           1    33.25119
   2        1           2    33.25119
   3        2           1   43.57014
   4        2          2     43.57014
  5          3          1    30.98391
   6         3          2    30.98391
   7          4         1    35.21127
    8        4          2    35.21127
end

gen neg_obs = -obs
tsset family neg_obs
gen Diff_age = D.age
二维码

扫码加我 拉你入群

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

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

2011-4-10 11:26:10
*就示例数据结构而言
bys family (twin): gen diff_age=age-age[2] if _n==1
二维码

扫码加我 拉你入群

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

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

2011-4-11 12:00:32
zhuzheyi 发表于 2011-4-10 04:55 譬如obs 1- obs2, 接着obs 3 - obs4, obs 5-obs6 ...... 请问如何能实现? 谢谢。
obs   family    twin          age
  1         1           1    33.25119
   2        1           2    33.25119
   3        2           1   43.57014
   4        2          2     43.57014
  5          3          1    30.98391
   6         3          2    30.98391
   7          4         1    35.21127
    8        4          2    35.21127
*原始操作(通用性不强)
sort obs
g d=age-age[_n+1] if mod(age,2)==1

*另外,每个family的age是一样的?
二维码

扫码加我 拉你入群

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

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

2011-4-11 15:09:49
进来拜下版主滴=)
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群