Stata 如何为本地宏中的每个文件设置特定的文件顺序
我在Stata中有一个循环,它引用一个本地宏,我用它来运行几个操作(创建一个文件,运行与每个文件相关联的脚本等等) 一切都很好,但我想更改循环中读取文件的顺序,默认情况下是按字母顺序 我的循环如下所示:Stata 如何为本地宏中的每个文件设置特定的文件顺序,stata,stata-macros,Stata,Stata Macros,我在Stata中有一个循环,它引用一个本地宏,我用它来运行几个操作(创建一个文件,运行与每个文件相关联的脚本等等) 一切都很好,但我想更改循环中读取文件的顺序,默认情况下是按字母顺序 我的循环如下所示: foreach file of local myfiles { noisily display as text "some text" } 除了display命令之外,脚本还会继续使用我的代码 有没有办法自定义循环对本地宏中存储的文件进行寻址的顺序 我希望在不更改文件名的情况下实现这一
foreach file of local myfiles {
noisily display as text "some text"
}
除了display
命令之外,脚本还会继续使用我的代码
有没有办法自定义循环对本地宏中存储的文件进行寻址的顺序
我希望在不更改文件名的情况下实现这一点。以下内容适合我:
local myfiles myfile1.dta myfile2.dta myfile3.dta myfile4.dta
tokenize `myfiles'
foreach x in `3' `1' `4' `2' {
display "`x'"
}
myfile3.dta
myfile1.dta
myfile4.dta
myfile2.dta
另一种方法是:
local myfiles myfile1.dta myfile2.dta myfile3.dta myfile4.dta
local mf myfile2.dta myfile3.dta
local myfiles `mf' `: list myfiles - mf'
display "`myfiles'"
myfile2.dta myfile3.dta myfile1.dta myfile4.dta
以下是我的作品:
local myfiles myfile1.dta myfile2.dta myfile3.dta myfile4.dta
tokenize `myfiles'
foreach x in `3' `1' `4' `2' {
display "`x'"
}
myfile3.dta
myfile1.dta
myfile4.dta
myfile2.dta
另一种方法是:
local myfiles myfile1.dta myfile2.dta myfile3.dta myfile4.dta
local mf myfile2.dta myfile3.dta
local myfiles `mf' `: list myfiles - mf'
display "`myfiles'"
myfile2.dta myfile3.dta myfile1.dta myfile4.dta