stata - 循环遍历全局宏
问题描述
我是 Stata 的新手,我有一组变量,如下所示:
global var1 " age sex"
global var2 "area"
global var3 "race"
我想遍历 3 个变量并应用一个函数,例如:
foreach a in $var1 $var2 $var3 { some function given `a'}
但问题是这个函数是通过 varlist 的内容一个一个地应用的,一个 forvar1
取第一个值age
,然后sex
当我想要它取值时age sex
。你对这个问题有什么见解吗?
解决方案
有各种解决方法。一个简单的可以在
global var1 "age sex"
global var2 "area"
global var3 "race"
forval j = 1/3 {
di "${var`j'}"
}
您的问题引发了各种小问题:
虽然类似的项目在其他语言中被称为变量,但全局宏在 Stata 中不被视为变量,因为变量(仅)是变量,即数据集中的列。
同样,您所说的函数更有可能是 Stata 中的命令。命令和函数在 Stata 中不是同义词。
为您展示的目的使用本地宏要好得多。这是一般良好的编程风格。
推荐阅读
- java - 使用属性 Spring Boot 中的 int 值
- sql - SQL 逻辑检查是否有任何相关客户失败
- laravel - Cloudways 启用清漆缓存导致 419 页面在登录时在 laravel 中过期
- django - 如何保存或存储用户在我的 django 表单中上传的文档?
- python - 如何正确计算预定义关键点的描述符?
- android - Flutter/Dart:尝试关闭流管道时出现错误状态
- wordpress - 寻找一个顺风 css 实用程序类来自动分割 wordpress 中的文本
- perl - 将 PWD 最后一个值分配给 perl 模块中的变量
- c++ - 特征矩阵的容器
- javascript - 如何将 setup() 中的功能重构/提取为可重用函数