Stata &引用;“字符串中的”一词;惯用语(扩展字符串函数的一部分)

Stata &引用;“字符串中的”一词;惯用语(扩展字符串函数的一部分),stata,stata-macros,Stata,Stata Macros,在Stata 11.2版上,我试图在forvalues循环中标记变量 但是,我无法让string的扩展string函数word#idiom工作: local names `""Growth" "Mature" "All""' forvalues i = 0/2 { local name : word `i' of `names' display "`name'" } 这是一个错误,但我不断得到无效语法错误 我还尝试了所有的本地名称,但这也不起作用 有没有一种方法可以通过算法实

在Stata 11.2版上,我试图在
forvalues
循环中标记变量

但是,我无法让string的扩展string函数
word#
idiom工作:

local names `""Growth" "Mature" "All""'

forvalues i = 0/2 {
    local name : word `i' of `names'
    display "`name'"
}
这是一个错误,但我不断得到
无效语法
错误

我还尝试了所有的
本地名称
,但这也不起作用


有没有一种方法可以通过算法实现这一点?

word 0
不起作用。Stata从
1开始计数。将循环更改为
1/3
,它就会工作

也可以考虑<代码>符号化< /代码>:

. tokenize `""Growth" "Mature" "All""' . forval i = 1/3 { 2. di "``i''" 3. } Growth Mature All . 标记化“成长”“成熟”“全部” . forval i=1/3{ 2.di“`i” 3. } 发育 成熟 全部的
tokenize
将字符串拆分为标记,表示用空格分隔的单词,除非引号将单词绑定在一起。令牌的名称有
1
2
3
。在循环过程中,
i
是第一个
1
,因此请求显示第一个宏,等等。

word 0
无法工作。Stata从
1开始计数。将循环更改为
1/3
,它就会工作

也可以考虑<代码>符号化< /代码>:

. tokenize `""Growth" "Mature" "All""' . forval i = 1/3 { 2. di "``i''" 3. } Growth Mature All . 标记化“成长”“成熟”“全部” . forval i=1/3{ 2.di“`i” 3. } 发育 成熟 全部的
tokenize
将字符串拆分为标记,表示用空格分隔的单词,除非引号将单词绑定在一起。令牌的名称有
1
2
3
。循环时,
i
是第一个
1
,因此请求显示第一个宏,以此类推