Stata:隐藏命令行

时间:2013-03-26 16:58:25

标签: stata

. 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

我该怎么做?感谢。

3 个答案:

答案 0 :(得分:10)

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]中的后续章节开始。

答案 1 :(得分: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
}

答案 2 :(得分:4)

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

正如Nick Cox所说,编写程序来显示文本是一个非常好的主意。但是,在程序中包含文本是有代价的,即您不能将该程序与其他变量一起使用。例如,如果编写程序以使用给定变量运行回归,则在对结果进行注释时,不能将该程序与其他变量一起使用。换句话说,撰写关于特定发现的评论将使该程序不太可用。因此,您最终将为每个分析编写一个程序,这不是那么有吸引力。

那么我的建议是什么?使用 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 外,您还可以将同一日志文件转换为其他格式,例如 docx html tex ,Open Office odt 幻灯片,以及 epub

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