Stata 为宏指定一系列值

Stata 为宏指定一系列值,stata,stata-macros,Stata,Stata Macros,我正在尝试使用for循环重命名变量列表 我的代码如下所示: local x 99 00 01 02 03 04 05 06 07 08 09 10 11 12 local k 2 4 6 8 10 12 14 16 18 20 22 24 26 28 local n: word count `x' forvalues i = 1 / `n' { local a : word `i' of `x' local b : word `i' of `k' rename v`b

我正在尝试使用
for
循环重命名变量列表

我的代码如下所示:

local x 99 00 01 02 03 04 05 06 07 08 09 10 11 12
local k  2 4 6 8 10 12 14 16 18 20 22 24 26 28
local n: word count `x'

forvalues i = 1 / `n' {
    local a : word `i' of `x'
    local b : word `i' of `k'
    rename v`b' num`a'
}

我想知道是否可以为宏
k
分配范围,而无需手动写入。请注意,两个值之间的差值不是一

在您的例子中,您只需要原始后缀2(2)28,因此将1(1)14后缀加倍。否则
帮助标记化

local x 99 00 01 02 03 04 05 06 07 08 09 10 11 12
tokenize "`x'"
local n: word count `x'
forvalues i = 1/`n' {
    local I = 2 * `i' 
    rename v`I' num``i'' 
}
其他算术级数也一样简单。例如,3(2)。。。是


您尚未关闭启动的上一个线程。接受一个答案会给你一些声誉。对不起,我不能结束最后一个问题。我确实想把它标记化。但是如果增量或起始值不同,我想不出我该怎么做。例如,如果我想要值3,5,7,我应该怎么做。。在我的宏中。谢谢
    local I = 2 * `i' + 1