全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
3838 5
2020-09-11
我想把控制变量用local汇总起来,命令如下:
local cv1 SOE ROA Lev_Ind Grow Fata Size Top1
sum `cv1'
却发现显示所有变量
reg Capex tt `cv1'
发现只有Capex和tt参与了回归
我的命令错哪里啊

二维码

扫码加我 拉你入群

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

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

全部回复
2020-9-11 19:59:39
在do文件中执行
二维码

扫码加我 拉你入群

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

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

2020-9-11 22:57:48
使用local命令的时候,关于local定义的一定要一起运行。
比如你这个一共有三行命令,要全部选中一起运行。
二维码

扫码加我 拉你入群

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

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

2021-3-21 12:25:13
ritaing 发表于 2020-9-11 22:57
使用local命令的时候,关于local定义的一定要一起运行。
比如你这个一共有三行命令,要全部选中一起运行。
感谢回答。
请问之前定义了local,怎么才能在后面不用local可以直接运行?  定义那一行离得很远了,只能复制过来再一起运行吗?
二维码

扫码加我 拉你入群

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

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

2022-4-16 21:03:57
9608478152 发表于 2021-3-21 12:25
感谢回答。
请问之前定义了local,怎么才能在后面不用local可以直接运行?  定义那一行离得很远了,只能 ...
要这样的话,用全局宏global就好了,local只在运行的时候管用,用完就没了
二维码

扫码加我 拉你入群

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

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

2025-6-3 22:36:35
在Stata中,`local` 命令用于定义宏。您已经正确地使用它来创建一个包含多个控制变量名称的宏 `cv1`。

但是,在您尝试使用这个宏进行操作时(如 `sum` 或者 `reg` 命令),需要正确引用宏中的内容。当您直接在命令中写 `cv1`,Stata会将 `cv1` 视为一个变量名而不是将其展开为变量列表。

正确的引用方式是使用双引号和单撇号,如下所示:

对于 `sum` 命令:
```stata
sum `cv1'
```
这个命令是错误的。应该写成这样:
```stata
summarize `cv1'
```
但是,由于 `summarize` 无法直接接受宏中的变量列表,您需要在宏名前后添加空格和单撇号(也就是引号内的反撇号),如下所示:

```stata
summarize "`cv1'"
```

对于 `reg` 命令:
```stata
reg Capex tt `cv1'
```
这个命令同样是错误的。正确的使用方式是:
```stata
regress Capex tt "`cv1'"
```

这样,Stata会将宏中的变量列表展开,并将其作为回归模型的控制变量。

但要注意,直接在命令中用这种方式引用包含空格的宏可能会出问题(例如当 `cv1` 中有变量名如 `SOE ROA`),因此实际使用时需要确保宏中的每个变量名都是单独列出的。更安全的做法是先将宏内容转换成真正由空格分隔的列表,可以使用 `tokens` 来实现这一点:

```stata
local cv1 : word list SOE ROA Lev_Ind Grow Fata Size Top1

regress Capex tt `cv1'
```

但是直接使用 `word list` 的方式在 Stata 16 及其更新的版本中才可用,对于更早的版本,你可能需要使用其他方法来确保宏中的变量被正确引用。例如:

```stata
local cv1 SOE ROA Lev_Ind Grow Fata Size Top1

foreach var in `cv1' {
    qui sum `var'
}

regress Capex tt `cv1'
```

这样,`foreach` 循环将确保每个变量被单独引用,并且避免了因宏中的空格而引起的问题。在回归命令中使用时,同样需要使用反撇号和引号来正确展开宏内容。

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



二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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