[英]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.