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

时间:2015-02-17 15:55:06

标签: stata

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

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

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

2 个答案:

答案 0 :(得分:2)

foreach的使用似乎有些混乱。你可能意味着

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

关键字varlist旨在与of一起使用,而不是in。如果以原始方式使用,varlist只是在循环中使用的文本,我认为这不是意思。仔细阅读help foreach

你已经发现了“背刺反弹”,并且不鼓励使用它。根据操作系统的不同,Stata会相应地进行翻译,因此在处理文件目录时应始终使用/

<强>参考:

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

答案 1 :(得分:0)

在搜索类似问题后,我似乎找到了答案。这里的链接http://www.stata-journal.com/article.html?article=pr0042解决了这个问题。只需使用正斜杠而不是反弹。