楼主: lucywitherspoon
2200 1

[Stata高级班] 分组循环回归 [推广有奖]

  • 0关注
  • 1粉丝

VIP

博士生

58%

还不是VIP/贵宾

-

威望
0
论坛币
367 个
通用积分
0.0036
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
1535 点
帖子
123
精华
0
在线时间
301 小时
注册时间
2009-2-22
最后登录
2019-7-2

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
连老师,我有如下一组数据,想分组回归,并提取变量系数,我有100多个组,以下数据只是一个举例
a               b                  c
4099         22                1
4749         17                 1
3799         22               1
4816         20                2
7827         15               2
5788          18              2
4453           26             3
5189         20                  3
10372        16             3
4082            19           4
11385           14         4
14500           14         4
15906           21            4
我想实现的命令如下
         reg a b  if group==1
         gen c=_b[_cons]
         reg a b if group==2
         replace c=_b[_cons]
         reg a b if group==3
         replace c=_b[_cons]
         reg a b if group==4
         replace c=_b[_cons]
但是由于有100多组,所以我想用循环语句,我编的命令如下,但是不知道为什么不能分组回归
       gen c=1
       foreach group=1(1)4{
       reg a b
       replace c=_b[_cons]
       }
二维码

扫码加我 拉你入群

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

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

关键词:replace foreach Group place Reach 分组

沙发
arlionn 在职认证  发表于 2010-11-16 17:29:04 |只看作者 |坛友微信交流群
假设分组变量为 g。
egen gg = group(g)        // 把各组序号修改为 1,2,3,……
qui tab gg
local N = r(N)
gen c=.
   forvalues i = 1`N'{
       qui  reg y x if gg==`i'   // 对第 i 组数据进行回归
       replace c = _b[_cons] in `i'   // 记录系数
   }

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 13:58