全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
4736 2
2012-08-04
比如有一队数列(a、b的数量不同):a ..
a ..
a ..
b ..
b ..
b ..
b ..
想得到一组序列按照a的顺序形成一个时间变量为:
a 1 ..
a 2 ..
a 3 ..
b 1 ..
b 2 ..
b 3 ..

b 4 ..

由于by命令需要用到sort,而sort后同一列的a之间的顺序会变化,而我想基于现有的顺序生成时间变量;
因此应该要用[_n]和循环语句,但是能力有限,恳请哪位高手帮忙。
多谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2012-8-5 11:10:06
不用循环。假设你那个变量是var1,想生成一个叫n的变量,使用下面这两个命令就行
gen temp=_n
egen n=rank(temp),by(var1)
二维码

扫码加我 拉你入群

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

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

2012-8-5 15:43:26
老树皮 发表于 2012-8-5 11:10
不用循环。假设你那个变量是var1,想生成一个叫n的变量,使用下面这两个命令就行
gen temp=_n
egen n=rank ...
嗯,好的,多谢啦~也发现了,用egen+min命令也行
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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