Practice makes perfect
文献集锦
如何理论创新?
管理学理论集锦
Python实际应用
聚类标准误与固定效应
巫师3:狂猎
Stata应用技巧
Python知识与技巧
双重差分法(DID)
创新文献阅读与摘要
计量经济学
Python绘图相关
local和global的使用区别
type
status
date
slug
summary
tags
category
icon
password
网址
作者
标签
文章链接
发布时间
来源
在 Stata 中,
local 和 global 都用于定义宏(macros),也就是存储文本或数字字符串的变量。它们最主要的区别在于作用域(scope)。local 宏
local 宏的作用域是局部的,这意味着它们只在定义它们的特定上下文中有效。- 定义: 使用
local macro_name = "text"或local macro_name "text"来定义。
- 引用: 使用反引号和单引号(
`macro_name')来引用。
- 作用域:
- 在 do-file 中定义的
local宏只在该 do-file 运行期间有效,并且在 do-file 结束后会自动清除。 - 在一个 do-file 内的循环(如
foreach或forvalues)或程序(program)中定义的local宏,只在该循环或程序内部有效,一旦循环或程序结束,该local宏也会被清除。 - 这意味着不同的 do-file、程序或循环可以使用相同的
local宏名称而不会相互冲突。
- 使用场景: 适用于临时存储值,例如循环变量、中间计算结果、文件名的一部分等,这些值不需要在整个 Stata 会话或跨多个 do-file 保持。
示例:
global 宏
global 宏的作用域是全局的,这意味着它们一旦定义,就会在整个 Stata 会话中保持有效,直到你明确地清除它们或者关闭 Stata。- 定义: 使用
global macro_name = "text"或global macro_name "text"来定义。
- 引用: 使用美元符号(
$macro_name)来引用。
- 作用域:
- 在任何地方(do-file、命令行、程序内部)定义的
global宏都可以在任何其他地方访问和使用。 - 它们会一直存在,直到你使用
macro drop _all或macro drop global macro_name来清除它们,或者退出 Stata。
- 使用场景: 适用于需要在多个 do-file、程序之间共享的常量、路径、通用设置等。
示例:
总结区别
特性 | local 宏 | global 宏 |
作用域 | 局部(仅在定义它们的上下文/块中有效) | 全局(在整个 Stata 会话中有效) |
生命周期 | 运行完上下文/块后自动清除 | 除非手动清除或关闭 Stata,否则一直存在 |
定义方式 | local macro_name = "text" | global macro_name = "text" |
引用方式 | `macro_name' | $macro_name |
冲突风险 | 较低(名称可以重复使用) | 较高(名称必须唯一,否则会被覆盖) |
用途 | 临时变量、循环变量、程序内部参数 | 共享路径、通用设置、跨 do-file 的常量 |
选择使用
local 还是 global 取决于你变量的生命周期和共享需求。通常,建议优先使用 local 宏,因为它能更好地管理内存并避免不必要的宏名称冲突,只有当你确实需要在多个 do-file 或程序之间共享信息时,才考虑使用 global 宏。Prev
如何开展边际效应分析?
Next
避开Cloudflare检测:Undetected ChromeDriver
Loading...