我正在尝试将csv格式的多个文件导入Stata。他们的名字遵循“variable_2010”格式。我想使用循环导入并保存这些文件。我尝试了以下方法:
foreach var in varlist a b c d {
import "c:\`var'_2010.csv"
save ......
}
这不起作用。问题是路径中无法识别var
。我怎么能逃避这个问题?
答案 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解决了这个问题。只需使用正斜杠而不是反弹。