我需要根据当前目录的路径在文件名下保存输出文件。例如,我有当前目录和初始数据集定义如下:
// current directory
cd "C:\Users\Raw data AA SYS BEST"
// the initial master dataset in "analysis" subfolder
use "analysis\master.dta" , clear
我需要将输出文件保存在名称" analysis \ output_AA_SYS_BEST.dta"在同一"分析"子目录。
我遇到过两个问题:
(1)如何提取目录名称的一部分。我设法找到一些有用的信息,如何使用substr()
函数来提取存储在同一目录中的文件名列表部分
(http://www.ats.ucla.edu/stat/stata/faq/append_many_files.htm),但不是目录本身。
(2)我尝试了一种更简单的方法来预先定义本地宏,然后将其与文件名连接,但它不起作用,可能是因为语法错误:
local x "AA SYS BEST"
save "analysis\test"_"`x'"_".dta"
答案 0 :(得分:1)
开(1)我不清楚你的问题是什么,并且看不到代码示例。
开(2)这应该有效:
local x "AA SYS BEST"
save "analysis\test_`x'_.dta"
但请注意反斜杠和本地宏名称是否相邻。请改用正斜杠。所以这应该不工作
local x "AA SYS BEST"
save "analysis\`x'_.dta"
但这应该可行,即使在Windows中也是如此,
local x "AA SYS BEST"
save "analysis/`x'_.dta"
有关反斜杠的更多信息,请参阅18.3.1 http://www.stata.com/manuals14/u18.pdf或http://www.stata-journal.com/sjpdf.html?articlenum=pr0042