楼主: zhuzheyi
13473 8

怎样做first difference? [推广有奖]

  • 0关注
  • 0粉丝

初中生

28%

还不是VIP/贵宾

-

威望
0
论坛币
8 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
330 点
帖子
13
精华
0
在线时间
15 小时
注册时间
2007-10-21
最后登录
2024-1-27

楼主
zhuzheyi 发表于 2011-4-10 04:55:11 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
刚刚接触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
二维码

扫码加我 拉你入群

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

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

关键词:difference DIFFER erence First FIRS First difference

沙发
ahterry 发表于 2011-4-10 07:25:28
不明白,证明我们要好好学习

藤椅
arlionn 在职认证  发表于 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

板凳
jzhyue 发表于 2011-4-10 11:26:10
*就示例数据结构而言
bys family (twin): gen diff_age=age-age[2] if _n==1

报纸
sungmoo 发表于 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是一样的?

地板
unhtequila 发表于 2011-4-11 15:09:49
进来拜下版主滴=)

7
zhuzheyi 发表于 2011-4-14 03:22:57
感谢各位高手。尝试一种方法, 已证有效, by family, sort: gen dage=age-age[_n+1]

8
zhuzheyi 发表于 2011-4-14 03:26:28
5# sungmoo

没有全部列出数据。其实应该dwage的。谢谢

9
zhuzheyi 发表于 2011-4-14 03:49:51
sungmoo 发表于 2011-4-11 12:00
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是一样的?
没有全部列出数据。其实应该dwage的。谢谢

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-4 02:34