如何使用宏引用数据文件?

2024-04-10

我有各种 Stata 数据文件。它们位于不同的文件夹中。我也有一个单do使用这些文件的文件,一次一个。

有没有办法使用宏来引用我的特定数据集do file?

例如:

local datafile = "C:\filepath\mydata.dta"

我们的想法是稍后在代码中使用它,如下所示:

use `datafile', clear

将宏定义为全局变量是可行的。但我不想让它成为全局的,所以它不会阻止我同时运行两个单独的程序。

全局定义(没有dta扩展名)是:

global datafile = "C:\filepath\mydata"

这用作:

use "$datafile", clear

EDIT:

我的文件路径有空格,例如C:\A and B report\mydata.dta。结果,通过上述本地定义,我收到以下错误:

文件规范无效


这实际上是一个常见错误,基于对本地宏如何工作的误解 在Stata工作中。

如果你的本地宏datafile等于"C:\A and B report\mydata.dta",那么 括起来的双引号是宏定义过程的一部分,而不是 存在于存储的宏中。

要看到这个:

local datafile = "C:\A and B report\mydata.dta"

macro list _datafile 
_datafile:      C:\A and B report\mydata.dta

因此,您的use命令应如下所示:

use "`datafile'", clear

请注意,与重要的空格不同,等号 (=) 是在 事实冗余:

local datafile C:\A and B report\mydata.dta

display "`datafile'"
C:\A and B report\mydata.dta
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用宏引用数据文件? 的相关文章

随机推荐

  • 使用 RegExp 格式化字符串以设置分隔符

    我正在尝试按如下方式格式化字符串 确保所有数字都使用破折号作为分隔符 示例 480 01 4430 和 480014430 都是 480 01 4430 这是我到目前为止所想到的 但我不明白为什么它不起作用 def format ssns
  • 仅当重新初始化继承类中的实例变量时,PHP 中使用单例模式的类继承才有效。但为什么?

    我有一个带有单例函数的主类实例 和相关变量 实例 现在我创建几个子类并让主类继承 我没有重新定义单例函数和变量 因为继承很有用 不幸的是 每个实例都指向第一个子类 仅当在子类中 实例变量被初始化为null它有效 但为什么呢 有了关键词sta
  • JavaScript 中的 eval 如何改变调用上下文?

    JavaScript 的动态特性是 eval 改变调用上下文 这是什么意思 一些例子会更好 eval间接调用时确实会更改上下文 并将其更改为全局上下文 所有函数的默认上下文 var myObj a 1 function someFunc c
  • Bootstrap rtl(从右到左)输入组

    我正在用 RTL 语言和 Bootstrap 开发一个页面input group看起来像这样 显然border radius是在错误的一边 我可以用 CSS 修复它 但我想知道 Bootstrap 是否有本地方法来处理它 这是我的代码 di
  • java中距离的国际化

    Java 是否可以在没有任何额外库的情况下实现国际化距离 我的意思是可以用日期 时间 货币 数字来处理这个问题 我本来希望找到一个 NumberFormat getDistanceInstance 之类的东西 是否已经嵌入了类似的东西 或者
  • 更改分支不会丢弃本地更改

    所以 我有点困惑 我不太擅长 git 但我记得如果您所在的分支有未提交的更改 并且您尝试签出另一个分支 git 要么不让您这样做 要么会放弃您的更改 我还在 Chacon 和 Straub 所著的 Apress 的 Pro Git 书中检查
  • 按关系中的项目计数过滤结果

    假设我有这两个模型 def Client db Model id db Column db Integer primary key True invoices db relationship Invoice backref client d
  • 启动新活动时未调用 onCreateOptionsMenu

    My onCreateOptionsMenu仅在我的 MainActivity 中有效 当我尝试放置另一个时onCreateOptionsMenu在另一个活动中膨胀不同的菜单时 它不会显示我的菜单栏 请注意 我在两个活动中的设置完全相同 我
  • 当未指定默认命名空间时,函数“ ”必须带有前缀

    我们正在对表单变量进行一些奇怪的处理 不管怎样 我已经设法从请求中获取变量 这样我就可以做一些数据库的事情了 现在我想发回原样 以便可以用原始选择填充选择框 以下是选择字段的示例 JSP Condition Code nbsp
  • 使用自定义验证属性时收到错误消息

    我正在像这样使用 CustomValidationAttribute CustomValidation typeof MyValidator Validate ErrorMessage Foo 我的验证器包含这段代码 public clas
  • 如何使用 Angular-CLI 在控制台中显示日志

    我正在使用 angular cli 进行 webpack ng serve 构建成功 我明白了 NG Live Development Server 运行于http 本地主机 4200 http localhost 4200 哈希值 dd3
  • 在 Windows XP 上安装 JDK8 - advapi32.dll 错误

    我下载了JDK8 https jdk8 java net download htmlbuild b121 并在尝试安装时出现以下错误 the procedure entry point RegDeleteKeyExA could not b
  • 测试组件,这取决于路由参数

    我有一个关于在 angular2 中测试路由组件的问题 这是一个简单的组件 它依赖于带有参数的路由 foo 属性foo组件中的值将被设置为参数的值 import Component OnInit from angular core impo
  • TFS 构建定义 - 您可以将其添加到源代码管理中吗?

    我想将我的构建定义添加到 TFS 源代码管理中 有办法做到这一点吗 不完全是 不 如果您尝试跟踪构建定义的更改 您可以使用最新版本中的几个新命令Team Foundation 电动工具 http visualstudiogallery ms
  • 如何将 JTextField 限制为 x 个字符

    我必须限制 JTextField 中的字符数 我使用以下代码来执行此操作 但问题是我使用虚拟键盘将数据输入到 JTextField 所以偏移量始终设置为0 当我输入超过指定数量的字符时 它会重置该字段并从头开始执行 例如 如果我的限制是 3
  • 使用 ng-file-upload 和 Rails Carrierwave gem 上传多个文件

    我正在尝试结合ng 文件上传 and 载波上传多个文件 但服务器端的控制器只接收一个文件 所选文件的最后一项 客户端 参考 https github com danialfarid ng file upload usage html
  • 如何在 ejs 文件、nodeJS 应用程序中包含 JS 脚本?

    我正在做 NodeJS 教程开放课堂 https openclassrooms com courses des applications ultra rapides avec node js tp la todo list 我使用模板引擎e
  • 如何使用函数指针数组?

    我应该如何在 C 中使用函数指针数组 我怎样才能初始化它们 你有一个很好的例子这里 函数指针数组 http www java2s com Code C Function Arrayoffunctionpointer htm 与语法详细 ht
  • Webpack url 和文件加载器不适用于 Angular 2 所需的组件样式

    我正在使用 Angular 2 sass 和 webpack 构建一个应用程序 但我在每个组件内所需的 sass 文件上的 url 上遇到了麻烦 使用 require 它不会将这些文件复制到资产文件夹中 也不会将 url 修改为构建的 cs
  • 如何使用宏引用数据文件?

    我有各种 Stata 数据文件 它们位于不同的文件夹中 我也有一个单do使用这些文件的文件 一次一个 有没有办法使用宏来引用我的特定数据集do file 例如 local datafile C filepath mydata dta 我们的