全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
2954 3
2010-03-01
求助,如何让生成一列使得如果值为1,则替换值为第一列,如果值为2,则替换值为第2列的值。

例子
companyid    value      industry1   industry2      industry3      IN( 我要生成的一列)
1                         1              A              B                       Z
2                         2              C              E                      G
3                         3              V               X                      S
4                         1              F               B                       s

我是想生成一列,使得如果value==1, 则该 IN== industry1 对应的值,比如,这里我想让第一行的IN==A,第二行的IN==E

不知道stata里面对于变量是如何标记的,我只知道对于观测值是用variable[_n]来表示

先谢谢了。
二维码

扫码加我 拉你入群

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

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

全部回复
2010-3-1 22:09:17
*试一下
g IN=""
levelsof value,l(l)
foreach i of num `l'{
replace IN=industry`i' if value==`i'
}
二维码

扫码加我 拉你入群

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

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

2010-3-3 00:21:54
可以用!谢谢sungmoo版主。再好奇的问一下,stata里面怎么标记前一个变量和后一个变量的?因为采用上面的方法的话,那么要求变量名必须是industry+数字,这样不能直观看到它所代表的具体的industry,如果要变量名保留industry的名称的话,怎么做才能达到相同的结果?
二维码

扫码加我 拉你入群

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

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

2010-3-3 07:53:02
lrc2002 发表于 2010-3-3 00:21 stata里面怎么标记前一个变量和后一个变量的?
*可以使用循环
foreach i of var x1-xn{
……
}
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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