楼主: xtshine
2009 5

[回归分析求助] 更换多个因变量的回归,能否使用循环命令来简写呢? [推广有奖]

  • 1关注
  • 0粉丝

博士生

48%

还不是VIP/贵宾

-

威望
0
论坛币
2826 个
通用积分
42.8981
学术水平
4 点
热心指数
9 点
信用等级
3 点
经验
2923 点
帖子
75
精华
0
在线时间
411 小时
注册时间
2016-1-21
最后登录
2024-11-14

楼主
xtshine 发表于 2021-12-29 23:03:18 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
比如,我的替代因变量有8个:y1-y8,控制变量都一致,回归命令能否用循环来实现呢?
我尝试了以下的命令,出现错误提示:1 invalid name。global y1
        forvalue i=1/8{
        reghdfe y`i'   x1  cv, ///
                        absorb(year stkcd) vce(cluster firmyear)
         estadd local Year   "Yes"   
         estadd local Industry "No"
         estadd local Firm "Yes"
         est store m`i'
        }

我对循环的理解还不是很深,也想不懂哪里出问题了。
想请问各位大佬,能否有实现的办法呀?

注:上面命令中,"y" "x"和"cv" 前都有个global宏符号$,但不知道为什么论坛页面会消掉宏符号,所以我展示的命令中就没有加宏标记了。

二维码

扫码加我 拉你入群

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

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

关键词:循环命令 因变量 Industry forvalue invalid Stata 回归 循环

沙发
silas_x 发表于 2021-12-30 20:01:46 来自手机
xtshine 发表于 2021-12-29 23:03
比如,我的替代因变量有8个:y1-y8,控制变量都一致,回归命令能否用循环来实现呢?
我尝试了以下的命令, ...
去掉$试试?

藤椅
lzsxy2009 发表于 2021-12-31 11:32:43
一个一个回归吧

板凳
xtshine 发表于 2022-1-1 20:01:32
已经解决啦,原因可能是循环只针对局部宏而非全部宏。
global y "y1 y2……y8"
local ys $y
foreach i of local ys{
  reghdfe `i'   x1  cv, ……
  est store `i'
}
就可以了。

因为我是把多个因变量放global里,统一放在命令前部方便修改,试了一下发现全局宏可以再赋给局部宏,这样真的好方便。也可以直接把y们赋给local:
local ys  "y1 y2……y8"
foreach i of local ys{

}

报纸
gongshundaren 发表于 2022-1-3 23:09:57
提供一个简单的思路

qui foreach v of var y1-y8 {
    reg `v' x1 x2 x3
    est store m_`v'
}
local models "m_*"
esttab `models', star(* 0.1 ** 0.05 *** 0.01) b(%6.3f) se(%6.3f)

地板
xtshine 发表于 2022-1-7 13:36:32
gongshundaren 发表于 2022-1-3 23:09
提供一个简单的思路

qui foreach v of var y1-y8 {
您为model名称利用通配符设宏的方法我没有想到,这种方式太妙了!感谢!

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

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-2-8 01:14