【问题标题】:How to touch (create a blank file) in Stata?如何在Stata中触摸(创建空白文件)?
【发布时间】:2014-11-08 22:50:16
【问题描述】:

我知道包touch,正是这样做的。然而,在安装和使用包之后,Stata 12 SE (Mac 10.9.5) 说:

touch 命令已被弃用。

还有其他选择吗?我需要这个来初始化一个空白的结果文件,这样我就可以将我的回归结果附加到一个循环中,而不用关心我是否在第一次迭代中。

【问题讨论】:

  • 我设法从 SSC 安装 touch 没有任何问题。我在 Stata 12 上。如果它不适合您,请尝试 help shell 并使用直接调用您的操作系统来创建文件。
  • @Roberto 你也尝试过使用它吗?我可以很好地安装它,但运行命令没有效果。如果它适合你,我会再试一次。
  • 你使用的是什么操作系统?
  • 我将 touch 下载到 Stata 13 并得到与 Heisenberg 相同的错误。
  • @DimitriyV.Masterov 我使用的是 Stata 12 SE,Mac OS 10.9.5

标签: loops for-loop stata


【解决方案1】:

新答案

在您的 do 文件中使用以下内容之一创建空白 xls 文件“newfile.xls”:

shell echo /dev/null > newfile.xls

这将覆盖现有的同名文件。要创建一个具有该名称的新空白文件:

shell touch newfile.xls

也可以。但是,如果存在同名文件,touch 只会更改修改和访问时间。

老答案

下面将保存一个空的Stata数据文件“newdata.dta”。换成你自己的名字。

save newdata, emptyok

【讨论】:

  • 抱歉不清楚,我试图初始化一个空白的.xls 文件以附加回归结果。
  • 我将使用 outreg2 附加到 xls 文件,这是一个将回归结果输出到 Excel 表中的包
  • 究竟如何在 Stata 循环中附加 xls 文件? append 仅对 Stata 数据文件进行操作。所以只需在循环中创建并附加它们(无论如何你都必须这样做)。循环结束后,使用最终文件(示例中为 newdata),并使用 export excel 创建 xls 文件。
  • 感谢您告诉我有关 shell 的信息——一旦我可以访问 shell,这很容易。你能编辑你对shell echo /dev/null > newfile.xls的回答吗?此解决方案还将覆盖同名的旧文件。
【解决方案2】:

使用 Mac,您可以只使用原生触控:!touch filename.xls, 或者 !> empty_results.txt,如果您想覆盖现有文件,或者如果它不存在则创建它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 1970-01-01
    • 2015-06-09
    • 2010-10-22
    • 1970-01-01
    • 1970-01-01
    • 2011-08-08
    相关资源
    最近更新 更多