全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1306 4
2014-09-17
请教各位一个生成编码的问题:
两个变量,a=1 2 3,b=1 2 3 4 5 。

想要两两组合形成一个新变量。
请问用循环怎么做呢?

ps :当然用 gen...replace...if & if...写15个简单的句子就能实现
但是想请教一下怎么用循环或者暂元来实现,只是为了求个明白。

a和b的生成编码如下:

clear
set   obs  100
gen   u=uniform()*10
gen   i=uniform()*20
recode  u (0/3=1)  (3.001/6=2)   (6.001/10=3)                , gen(a)
recode  i (0/5=1)  (5.001/10=2)  (10.001/15=4)  (15.001/20=5), gen(b)
drop    u  i
tab1    a  b
tab      a  b


谢谢!

二维码

扫码加我 拉你入群

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

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

全部回复
2014-9-18 09:41:53
gen x=.
local i=1
forvalues a=1/3 {
forvalues b=1/5 {
replace x=   in `i'
local i=`i'+1

}
}
二维码

扫码加我 拉你入群

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

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

2014-9-18 16:12:54
ermutuxia 发表于 2014-9-18 09:41
gen x=.
local i=1
forvalues a=1/3 {
谢谢哈   可是  replace 那句出错了,也看不太懂。。。
二维码

扫码加我 拉你入群

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

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

2014-9-18 16:33:46
这是思路,你可以根据自己的需要修改,这是循环程序的语法
二维码

扫码加我 拉你入群

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

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

2014-9-22 13:44:52
最后终于发现。。。。这根本不用循环,是我想多了

gen   x=5*(a-1)+b

一句命令即可

哎哎,初学循环,还不熟悉。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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