簡體   English   中英

在Stata循環中顯示數據

[英]Display data in Stata loop

我在Stata 12中有一個循環,它查看文件中的每條記錄,如果找到等於1的flag ,則會生成五個估算值。 我的代碼如下所示:

forvalues i=1/5 {
 gen y3`i' = y2
 gen double h`i' = (uniform()*(1-a)+a) if flag==1
 replace y3`i' = 1.6*(invibeta(7.2,2.6,h`i')/(1-invibeta(7.2,2.6,h`i')))^(1/1.7) if 
   flag==1
 } 

a在其他地方定義。 我要檢查各個歸因。 因此,最好僅在flag = 1的情況下才顯示估算變量。 我還想在旁邊顯示另一個值s 我需要幫助弄清楚語法。 我已經嘗試了所有可以想到的引號和下標的組合,但始終收到錯誤消息。

我想到了另一種有用的修改。 假設我要在其上執行此例程的三個串聯文件。 讓他們有一個等於1、2或3的變量文件。我想為每個變量設置一個單獨的種子,並在程序中進行操作,因此我有一條記錄。 我設想這樣的事情:

forvalues j=1/3 {
set seed=12345 if file=1
set seed=56789 if file=2
set seed=98765 if file=3

insert code above

}

這樣行嗎?

您未顯示的代碼無法發表評論,但“顯示”一詞可能會誤導您。

  list y3`i' if flag == 1 

或某些變化可能是您想要的。 請注意, display是一次最多顯示一行輸出。

PS:當您是威廉·莎士比亞時,請知道杯子http://www.stata.com/giftshop/much-ado-mug/的靈感來自您的工作。

一個附屬問題詢問每次圍繞一個循環選擇不同的種子。 很簡單:

  forval j = 1/3 { 
       local seed : word `j' of 12345 56789 98765 
       set seed `seed' 
       ...
  }

要么

  tokenize 12345 56789 98765 
  forval j = 1/3 { 
         set seed ``j'' 
         ...
  } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM