楼主: 实干7
29726 4

[回归分析求助] 关于stata的global命令 [推广有奖]

  • 0关注
  • 0粉丝

高中生

95%

还不是VIP/贵宾

-

威望
0
论坛币
289 个
通用积分
6.3829
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
226 点
帖子
2
精华
0
在线时间
78 小时
注册时间
2016-7-23
最后登录
2024-1-4

楼主
实干7 发表于 2020-2-9 22:17:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
为什么我
global control(怕发帖识别有问题在这里没加美元符号)  cash  cap_exp invi roa debt age exe_share pe_size ins_share tobinq com_size ind_ratio top10 i.time i.industry
xtreg own_pat i.is_pc $control, fe
的结果

xtreg own_pat i.is_pc cash cap_exp invi roa debt age exe_share pe_size ins_share tobinq com_size ind_ratio top10 i.time i.industry,fe  跑出来的结果完全不一样呢(i.pc的系数)

1.加global的结果
2.png
2.不加global,展开control内容的结果(变量i.industry由于太长图片省略掉了)
1.png
二维码

扫码加我 拉你入群

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

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


沙发
黃河泉 在职认证  发表于 2020-2-10 10:29:37
试试
  1. global control "cash cap_exp invi roa debt age exe_share pe_size ins_share tobinq com_size ind_ratio top10 i.time i.industry"
复制代码
已有 1 人评分论坛币 学术水平 热心指数 收起 理由
逐梦的太阳 + 10 + 5 + 5 精彩帖子

总评分: 论坛币 + 10  学术水平 + 5  热心指数 + 5   查看全部评分

藤椅
fangyl1 发表于 2022-6-26 16:03:10
请问您找到原因了么,遇到一样的问题

板凳
LKrystal 学生认证  发表于 2022-12-12 20:05:53
stata14不可以运行global,怎么办啊,要安装吗

报纸
赵安豆 发表于 2024-10-22 19:21:58
在Stata中使用`global`命令来定义宏可以方便地在多个地方引用一组变量或文本。但是,在你的情况下,问题可能出在`$control`的使用上。

当你直接在模型公式中引用`global`宏(如`$control`),Stata会将其解释为一个变量名而非一系列变量列表。这是因为美元符号`$`和括号`( )`并不是Stata用于解析宏内容的标准语法,而是在某些其他编程语言或脚本环境中的用法。

正确地在命令中引用`global`定义的宏应使用`${}`来提取宏的内容,即:

```stata
xtreg own_pat i.is_pc ${control}, fe
```

然而,即使你修正了这一点,结果仍然可能不同。这是因为当宏被展开时,其中的空格和换行符也会被包含在内,这可能会干扰Stata命令的正确解析。为了确保变量列表能被正确识别,你应该确保`global control`定义中没有多余的空格或换行。

另外,如果`control`宏中的变量列表太长或有复杂的格式(如你提到的`i.time i.industry`),直接在宏定义中包含它们可能会导致问题。一种更好的做法是单独定义这些复杂部分为其他宏,并在`control`宏中引用它们:

```stata
global other_vars "i.time i.industry"
global control "cash cap_exp invi roa debt age exe_share pe_size ins_share tobinq com_size ind_ratio top10 ${other_vars}"
```

这样,你就可以在命令中使用`${control}`来正确地展开和引用所有需要的控制变量了。

最后,请注意`xtreg`命令中的逗号`,`后跟选项时,确保没有多余的空格。正确的格式是:

```stata
xtreg own_pat i.is_pc ${control}, fe
```

这样应该可以解决你提到的问题,并使得加`global`与直接列出所有控制变量的结果一致。

如果问题依旧存在,请检查数据是否在两个命令执行之间有变动,或者是否有其他Stata设置或程序可能影响了结果的一致性。

此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用



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

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