2013-03-26 83 views
4
. 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 

我怎樣才能做到這一點?謝謝。

回答

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

另一種選擇是,如果你願意嘗試一些更有趣的東西,就是去[do-files]的「knitr」方法(https:// github。com/amarder/stata-tutorial),它將Markdown格式的文本與Stata代碼混合在一起。 – 2013-03-27 13:43:11

9

從user1493368的答案是正確的,但這樣寫代碼是繁瑣且容易出錯的更復雜的例子。另一個答案就是學習如何編寫Stata程序!將這個在做文件編輯器窗口,並運行它

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

在實踐中然後輸入交互

myprog 

作爲一個讓很多小錯誤,一個非常第一線如

capture program drop myprog 

是一個好主意。

這確實是顯着和有據可查的:從後面的章節開始[U]。

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將爲您製作一個將您的評論解釋爲Markdown的PDF。除了PDF,您可以將同一個日誌文件到其他格式,如DOCXHTMLTEX,開放式辦公ODT幻燈片,也EPUB

使用Statax Syntax Highlighter,PDF和HTML格式也將爲Stata命令提供語法高亮顯示。

+0

程序不能用於其他變量的斷言僅適用於根據特定變量進行連線的程序。否則這是無稽之談:一個有效的書面程序不會對變量名稱做任何假設。否則,Stata命令無法工作。 – 2014-09-10 20:11:16

+0

我只能同意你的評論。也許我還不夠清楚。我指出了在程序中寫評論的一個缺點,如果我們想在其他變量或不同場合反覆使用該程序。在這種情況下,對特定發現發表評論會使該程序在其他場合無法使用。除此之外,寫小問題也沒有問題。 – 2014-09-10 21:33:53

+0

感謝您的澄清。我想我們基本達成一致。 – 2014-09-10 22:39:46