5
. sysuse auto, clear
(1978 Automobile Data)

. di "I am getting some summary statistics for PRICE"
I am getting some summary statistics for PRICE

. su price

    Variable |       Obs        Mean    Std. Dev.       Min        Max
-------------+--------------------------------------------------------
       price |        74    6165.257    2949.496       3291      15906

. 
end of do-file

我想隐藏命令行,只显示结果如下:

I am getting some summary statistics for PRICE

        Variable |       Obs        Mean    Std. Dev.       Min        Max
    -------------+--------------------------------------------------------
           price |        74    6165.257    2949.496       3291      15906

我怎样才能做到这一点?谢谢。

4

3 回答 3

11

user1493368 的答案是正确的,但是对于更复杂的示例,编写这样的代码很乏味且容易出错。另一个答案就是学习如何编写 Stata 程序!把它放在一个do-file编辑器窗口中并运行它

program myprog 
    qui sysuse auto, clear
    di "I am getting some summary statistics for PRICE"
    su price
end 

然后交互输入

myprog 

在实践中,一个人会犯很多小错误,比如第一行

capture program drop myprog 

是个好主意。

这确实是显着且有据可查的:从 [U] 中的后面章节开始。

于 2013-03-26T19:00:44.013 回答
5

试试这个:输出文本文件 (quiet_noise.txt) 将包含您想要的文件。

quietly {
     log using quiet_noise.log, text replace
     sysuse auto
     noisily: di "I am getting some summary statistics for PRICE"
     noisily: su price
     log close
}
于 2013-03-26T17:15:23.290 回答
4

评论 Stata 输出,尤其是当您想要共享日志文件成为问题时,这在您的问题中得到了很好的反映。

正如尼克考克斯很好地解释的那样,编写一个程序来显示文本是一个非常好的主意。但是,在程序中包含文本是有代价的,即您不能将该程序与其他变量一起使用。例如,如果您编写一个程序来使用给定变量运行回归,如果您对结果进行评论,则不能将该程序与其他变量一起使用。换句话说,写关于特定发现的评论会使程序的可用性降低。结果,您最终将为每个分析编写一个程序,这并不吸引人。

那么我的建议是什么?使用MarkDoc pakcage 来评论您的结果。

在 MarkDoc (ssc install markdoc) 中,您可以使用 Markdown / HTML /LaTeX 编写评论并将其导出到 Stata 中的动态文档。在您的示例中,它将如下所示:

    qui log using example, replace

    sysuse auto, clear

    /***
    Writing comments in Stata logfiles
    ==================================

    I am getting some summary statistics for PRICE
    ***/

    summarize price

    qui log c
    markdoc example, replace export(pdf)

MarkDoc 将为您生成一个 PDF,将您的评论解释为 Markdown。除了pdf之外,您还可以将相同的日志文件转换为其他格式,例如docxhtmltex、Open Office odtslide以及epub

PDF 和 HTML 格式还将使用Statax Syntax Highlighter为 Stata 命令提供语法高亮显示。

于 2014-09-10T18:54:25.407 回答