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