楼主: lawry
5556 9

[数据管理求助] 如何生成一个变量,其值等于某个已知字符型变量的上期值? [推广有奖]

  • 0关注
  • 1粉丝

已卖:391份资源

硕士生

4%

还不是VIP/贵宾

-

威望
0
论坛币
893 个
通用积分
53.4151
学术水平
7 点
热心指数
10 点
信用等级
1 点
经验
1066 点
帖子
73
精华
0
在线时间
139 小时
注册时间
2005-10-31
最后登录
2023-10-2

楼主
lawry 发表于 2014-6-3 01:07:05 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求教各位高人:有以下数据文件:
id        year        auditor
1        2001        Z026
1        2002        Z026
1        2003        Z026
1        2004        Z026
1        2005        Z026
1        2006        Z026
1        2007        A001
1        2008        A001
1        2009        A001
1        2010        A001
1        2011        A001
1        2012        A001
1        2013        P001A
想用stata生成一个新变量,其值等于auditor(字符型)的上期值,即下表:
id        year        auditor        ex_auditor
1        2001        Z026       
1        2002        Z026        Z026
1        2003        Z026        Z026
1        2004        Z026        Z026
1        2005        Z026        Z026
1        2006        Z026        Z026
1        2007        A001        Z026
1        2008        A001        A001
1        2009        A001        A001
1        2010        A001        A001
1        2011        A001        A001
1        2012        A001        A001
1        2013        P001A        A001
期待得到各位高人的帮助!

二维码

扫码加我 拉你入群

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

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

关键词:字符型变量 字符型 Auditor Audit Stata 如何

沙发
xingxf 发表于 2014-6-3 05:18:50
如果你这个是面板数据
xtset id year
gen ex_auditor=l.auditor
如果不是面板数据,用以下命令也可以:
bys id (year): gen ex_auditor=auditor[_n-1]
已有 1 人评分经验 学术水平 热心指数 收起 理由
crystal8832 + 10 + 1 + 1 热心帮助其他会员

总评分: 经验 + 10  学术水平 + 1  热心指数 + 1   查看全部评分

藤椅
yizst2 发表于 2014-6-3 07:10:10
上面回答很好,不过要注意先把string variable 转成 numerical variable.
已有 1 人评分热心指数 收起 理由
crystal8832 + 1 热心帮助其他会员

总评分: 热心指数 + 1   查看全部评分

板凳
lawry 发表于 2014-6-3 10:30:27
谢谢上面两位的热心回答。但是请注意,变量为字符型,用xingxf 兄的命令,生成的ex_auditor变量为缺失值。期待高人指点。

报纸
lawry 发表于 2014-6-3 11:04:27
bys id (year): gen ex_auditor=auditor[_n-1]命令可以用!谢谢xingxf 兄。我错用了以下命令:
bys id year: gen ex_auditor=auditor[_n-1].

地板
yizst2 发表于 2014-6-3 16:01:10
lawry 发表于 2014-6-3 11:04
bys id (year): gen ex_auditor=auditor[_n-1]命令可以用!谢谢xingxf 兄。我错用了以下命令:
bys id yea ...
噢,字符串也可以。学到新东西了。

7
xingxf 发表于 2014-6-3 20:44:43
lawry 发表于 2014-6-3 11:04
bys id (year): gen ex_auditor=auditor[_n-1]命令可以用!谢谢xingxf 兄。我错用了以下命令:
bys id yea ...
你不给year加上括号,bys id year是按照每一组id year组合生成lag value,因为id year组合是唯一的,那你的结果必然是缺失值。
你给year加上括号,那是按id并且将year排序,按照id生成lag value。

8
xingxf 发表于 2014-6-3 20:49:26
yizst2 发表于 2014-6-3 07:10
上面回答很好,不过要注意先把string variable 转成 numerical variable.
如果是用面板数据的方法,字符串是不行的。
如果用bys的方法,是完全不需要事先转换字符串的

9
lawry 发表于 2014-6-4 16:48:58
谢谢xingxf兄的耐心解答!

10
peter_201901 在职认证  发表于 2024-6-7 09:29:54
gen ex_auditor=auditor[_n-1]

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

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