1

我正在尝试forvalues在 Stata 11.2 版的循环中标记变量。

但是,我无法让扩展字符串函数word # of string习语工作:

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

forvalues i = 0/2 {
    local name : word `i' of `names'
    display "`name'"
}

这遵循Statalist 解决方案,但我不断收到invalid syntax错误。

我也试过local names Growth Mature All了,但这也不起作用。

有没有办法在算法上做到这一点?

4

1 回答 1

6

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

另外,考虑tokenize

. 标记 `""成长" "成熟" "全部""'

. forval i = 1/3 {
  2. di "``我''"
  3.}
生长
成熟
全部

tokenize将字符串拆分为标记,意思是用空格分隔的单词,除非引号将单词绑定在一起。标记具有名称1, 2, 3. 当您循环时,iis first 1,因此请求是显示第一个宏等。

于 2013-10-18T16:43:51.947 回答