Stata中do文件的路径

Peu*_*tch 5 stata

当我启动一个 do-file 以将 do-file 的路径恢复为变量时,是否有可能?

我正在与合著者共享一个项目(通过 Dropbox)。因此,文件夹(数据、日志等)的结构在两侧是相同的。

但是文件夹在我和我的合著者的文件系统上的位置不同。因此,编写与文件夹路径等无关的 do-file 对我们很有帮助。

我们希望我们的项目的路径不要被硬编码。

谢谢!

Nic*_*Cox 5

你可以在这片领土上做各种各样的事情,包括

  • 将目录名称作为参数传递给 do 文件。例如,

    do mydo d:/myproject/data1812 
    
    Run Code Online (Sandbox Code Playgroud)

    启动文件mydo.do并将特定目录的参数传递给 do 文件。在 do 文件中,您可以将参数作为

    local myfolder "`1'" 
    
    Run Code Online (Sandbox Code Playgroud)

    即传递的东西作为本地宏 1 传递。(任何其他参数都是本地宏 2、3 等)

  • 确保您对位置的引用和特别是文件在 do 文件中是相对的,并从父目录运行 do 文件。

  • 在您的主 do 文件中使用全局宏来定位位置,然后在您首先运行的主 do 文件中重新定义它们。

注意:最好使用正斜杠,即使在 Windows 下;Stata 会翻译。另外,如果有嵌入的空格,请用双引号将整个内容绑定。

  do mydo "d:/my project/data1812" 
Run Code Online (Sandbox Code Playgroud)

第二个似乎最接近您在特定位置不接线的偏好。但是如果你使用来自不同地方的文件,你必须以某种方式告诉Stata它们在哪里......