如果我为Stata发布.ado包,我可以在.pkg描述文件的安装文件中包含.dta文件,使用如下行:
f amazingdata.dta
但是,除了通过导航到用户选择的附加软件包的偏远目录之外,用户可以如何加载这些数据还不清楚。例如,有没有办法使用以下命令为.ado文件提供数据文件:
. sysuse amazingdata
答案 0 :(得分:4)
你已经找到了包文件的文档,所以这在第一个例子中似乎是一个关于sysuse
是否与用户编写的软件包的安装进行游行的问题,而简短的回答是强调的。
sysuse
旨在让Stata用户快速轻松地访问StataCorp提供的数据集,以支持官方命令。我没有尝试过,但我的猜测是sysuse
可以用于任何数据集,只要该数据集放在Stata搜索的目录中。
然而,我认为这将是非常糟糕的风格。当Stata程序员发布以程序及其帮助文件为中心的软件包时,他们通常会提供测试数据集,但最好的标准是将这些文件标记为辅助文件,并允许用户使用net get
将它们下载到他们自己选择的位置。 。如上所述,这是一个选择。
可以加强论证。最好将StataCorp自己的文件和其他文件严格隔离。这样,更新和升级,将文件复制到其他机器等等都不太可能因为一些名称冲突而混淆或纠结。最有可能的是,您可能会安装或重新安装Stata并“忘记”您将用户编写的内容与StataCorp自己的文件混合在一起并浪费时间尝试查找它。
在任何情况下,要使sysuse
像这样工作,用户必须在Stata搜索的地方手动安装文件,因为Stata的下载命令不会自动执行此操作。
至于“偏僻”,这不是你的决定。许多用户都有非常严格的个人或工作场所规则,每个项目都需要完全不同的目录或文件夹,所以将文件放在可以非常刻意地找到的位置,就他们自己而言,是一个非常好的主意。否则,net get
机制意味着用户谨慎地决定文件的去向。如果用户希望补充Stata关于搜索位置的规则,则用户还可以操纵他们的adopath
。
答案 1 :(得分:0)
事实证明我误解了安装过程,并且我希望的功能在Stata中。我假设数据文件是自动安装的,但现在看它们被认为是辅助的,并且需要额外的显式安装。完成此操作后,用户只需键入use amazingdata
即可获得访问权限。完成。简单!