楼主: lijian1981112
3171 8

[其他] 为什么我前导数据后,数据移动不会自动归到一个样本中? [推广有奖]

  • 1关注
  • 4粉丝

已卖:114份资源

博士生

58%

还不是VIP/贵宾

-

威望
0
论坛币
110 个
通用积分
2.0009
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
4880 点
帖子
177
精华
0
在线时间
270 小时
注册时间
2006-7-4
最后登录
2020-9-30

楼主
lijian1981112 发表于 2011-7-7 20:17:12 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
为什么我前导数据,不会自动归到一个样本中?各位大侠,请教一个问题。

假设有三个变量: beertax啤酒税、spircons 酒精消费量和fatal 交通死亡率。
stateyearspirconsbeertaxfatalspircons1
AL19821.371.5393792.128361.36
AL19831.361.7889912.348481.32
AL19841.321.7142862.336431.28
AL19851.281.6525422.193481.23
AL19861.231.6099072.669141.18
AL19871.181.562.718591.17
AL19881.171.5014442.493911.97
AZ19821.970.2147972.499141.9
AZ19831.90.2064222.267382.14
AZ19842.140.2967032.828781.86
AZ19851.860.3813562.802011.78
AZ19861.780.3715173.071061.72
AZ19871.720.362.767281.68
AZ19881.680.3464872.705651.19


出于需要,我要用滞后一年的的spircons作为因变量 对应作为自变量的beertax
我使用了命令 gen spircons1=spircons[_n+1]
果然82年的beertax对应了83年的spircons,83年的beertax对应了84年的spircons~~

然而出现了一个问题,就是AL88年的(1.17)数据提前了之后,本来的位置应该是空着的,但是被AZ(另一个样本)82的数据(1.97)代替了。

我又试了滞后命令,也是一样,会把一家企业的数值放入另一家企业中。

我看连玉君老师那个PDF讲义上,使用滞后命令后,会自动按照样本不同排列数据,不会把一个样本的数据排到另一样本上。
二维码

扫码加我 拉你入群

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

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

关键词:导数据 一个样 Fatal PDF讲义 State 死亡率 啤酒 样本

沙发
lijian1981112 发表于 2011-7-7 20:35:39
顶一下,希望帮助我一下,出了什么问题

藤椅
h3327156 发表于 2011-7-7 23:19:18
*假设您的州变数已经是数值型

tsset state year
g lag_spircons=L.spircons
g lead_spircons=F.spircons
*L.设定滞后一期变量
*F.设定前导变量

建议参考手册[XT]tsset的314页的Remarks,您可以学地更多

最后,您原本那样设,出现那样的状况很正常。反正下一个观测值都会移到上一个观测值上。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
h894510055 + 1 + 1 + 1 热心帮助其他会员

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

板凳
lijian1981112 发表于 2011-7-8 10:38:48
这两个命令我都试过,但是在stata里结果都为
nothing found where name expected


所以才用 蓝色 版主 以前交过的 gen spircons1=spircons[_n+1]
生成了前导变量,但数据却会提前。

我希望达到的效果是这样子,这是金禾经济研究中心连玉君老师的讲义中的例子:




我就想达到滞后或者前导数据,可以仍然按照不同的样本自动排列,不要一个样本的数据排到另一个样本中。请问怎么才能实现呢?

报纸
lijian1981112 发表于 2011-7-8 10:40:58
求解答,谢谢大家

地板
h3327156 发表于 2011-7-8 10:59:14
您可能觉得我没有回答您的问题,
您说您测试过了!

不过我的测试确是ok的!

input str2 state year spircons beertax fatal
AL 1982 1.37 1.539379 2.12836 1.36
AL 1983 1.36 1.788991 2.34848 1.32
AL 1984 1.32 1.714286 2.33643 1.28
AL 1985 1.28 1.652542 2.19348 1.23
AL 1986 1.23 1.609907 2.66914 1.18
AL 1987 1.18 1.56     2.71859 1.17
AL 1988 1.17 1.501444 2.49391 1.97
AZ 1982 1.97 0.214797 2.49914 1.9
AZ 1983 1.9  0.206422 2.26738 2.14
AZ 1984 2.14 0.296703 2.82878 1.86
AZ 1985 1.86 0.381356 2.80201 1.78
AZ 1986 1.78 0.371517 3.07106 1.72
AZ 1987 1.72 0.36     2.76728 1.68
AZ 1988 1.68 0.346487 2.70565 1.19
end

egen id_state=group(state)
tsset id_state year
g lag_spircons=L.spircons
g lead_spircons=F.spircons
已有 3 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 3 + 3 + 3 热心帮助其他会员
h894510055 + 1 + 1 + 1 热心帮助其他会员
liuzhenzhu + 100 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 100  学术水平 + 6  热心指数 + 6  信用等级 + 4   查看全部评分

7
lijian1981112 发表于 2011-7-8 11:50:36
谢谢楼上的,我做出来的效果和你的一样。
就是出现这样的问题,AZ 1982年的数据,被提到了AL1988年得位置上。

而我想得到的是图片中的效果,不知道该用什么命令实现?

8
lijian1981112 发表于 2011-7-8 11:53:50
谢谢楼上的,我做出来的效果和你的一样。
就是出现这样的问题,AZ 1982年的数据,被提到了AL1988年得位置上。

而我想得到的是图片中的效果,不知道该用什么命令实现?

9
lijian1981112 发表于 2011-7-13 13:43:36
问题解决了---
输入F.之后,如果直接用鼠标点击变量框里的变量就会在F.后面多出一个空格,所以跑不出来结果,删除L.命令和F.命令都能达到连玉君老师的效果。
相反用完全命令
gen lag1   = x[_n-1]             /*滞后一期*/
gen lag2   = x[_n-2]             /*滞后2期*/
gen lead1 = x[_n+1]            /*前置一期*/
仍然会所有数据上移

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

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