. 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
我该怎么做?感谢。
答案 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命令提供语法高亮显示。