如何在 Stata 中的字符串中使用局部变量

How to use local variable inside a string in Stata

我正在尝试将多个 csv 格式的文件导入 Stata。他们的名字遵循 "variable_2010" 格式。我想使用循环来导入和保存这些文件。我尝试了以下方法:

foreach var in varlist a b c d {
import "c:\`var'_2010.csv"
save ......
}

这不起作用。问题是 var 在路径内无法识别。我怎么能逃避这个问题?

翻了翻类似的问题,我好像找到了答案。这个link这里http://www.stata-journal.com/article.html?article=pr0042解决问题。只需使用正斜杠而不是反斜杠。

foreach 的使用似乎有些混淆。你可能是说

foreach var in a b c d {
   import "c:/`var'_2010.csv"
}

关键字 varlist 用于 of 而不是 in。如果以您原来的方式使用, varlist 只是要在循环中使用的文本,我认为这不是什么意思。仔细阅读help foreach

您已经发现了 "backstabbing backslash",并且不鼓励使用它。根据 OS,Stata 会进行相应的翻译,因此在处理文件目录时应始终使用 /

参考:

Stata tip 65: Beware the backstabbing backslash,Stata 期刊,作者:Nicholas J. Cox。