全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1205 4
2015-12-27
假设某变量a的数据结构为1 2 3 1 2 3 4 1 2 3 1 2 3 4 5这样的,如果我想生成分类变量b,把a中的以1开始的作为1组,该如何做呢?比如,a中的1 2 3 在b为1,1234 在b为2这样。当然数据可能会比较多,不会这么少。
二维码

扫码加我 拉你入群

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

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

全部回复
2015-12-28 12:12:04
可以用
gen b=1 if a==1
replace b = cond((b[_n-1]!=.)*(b!=.),(b+b[_n-1]),b[_n-1]) in 2/l
二维码

扫码加我 拉你入群

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

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

2016-1-3 09:16:19
夏目贵志 发表于 2015-12-28 12:12
可以用
gen b=1 if a==1
replace b = cond((b[_n-1]!=.)*(b!=.),(b+b[_n-1]),b[_n-1]) in 2/l
好厉害!可以解释下吗?特别是后面的in 2/1,谢谢啦
二维码

扫码加我 拉你入群

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

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

2016-1-4 08:49:19
西北426 发表于 2016-1-3 09:16
好厉害!可以解释下吗?特别是后面的in 2/1,谢谢啦
那个in 2/l表示这个replace从数据的第二行开始执行。不影响数据的第一行。
二维码

扫码加我 拉你入群

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

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

2016-1-4 19:12:10
夏目贵志 发表于 2016-1-4 08:49
那个in 2/l表示这个replace从数据的第二行开始执行。不影响数据的第一行。
哦,非常感谢!
二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

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