全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
14009 6
2013-07-07
各位老师同学大家好!请教一个问题,已知一列变量a001,变量的值在整数1-8之间,如何用循环嵌套在STATA中实现以下语句:
生成一列变量X,当a001=1时,X=8;a001=2时,x=7,;以此类推

PS:如果a008的值不是等比数列,而是一列没有规律的值,那么应当怎样实现?

二维码

扫码加我 拉你入群

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

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

全部回复
2013-7-7 19:58:58
gen
recode
二维码

扫码加我 拉你入群

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

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

2013-7-7 21:33:58
gen x=9-a001
二维码

扫码加我 拉你入群

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

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

2013-7-8 16:08:04
蓝色 发表于 2013-7-7 21:33
gen x=9-a001
请问如果赋值没有规律可循应该怎么办呢?例如变量a001的值分别是1、4、2、5、3、3、2、4、7、6、5、6、3,所赋值分别为x=1、5、7、4、3等等
二维码

扫码加我 拉你入群

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

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

2013-7-8 21:19:06
没有规律那就没有有规律的解决办法了
自己一行一行写吧
gen x=.
replace x=1 if a001==1
replace x=2 if a001==
等等类似去写吧
二维码

扫码加我 拉你入群

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

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

2013-7-8 22:18:11
楼上两位版主提出的都很好。

***以下只是演练

***模拟生成楼主可能的数据
set se 8888
set ob 100
g a001=int(7*runiform()+1)

***尝试recode的解法
recode a001 (1=8) (2=7) (3=6) (4=5) (5=4) (6=3) (7=2) (8=1),gen(x)

***一如蓝色版主说的"没有规律那就没有有规律的解决办法了" 请自行在()里更改rule
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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