2014-03-28 151 views
-1

如何獲得每個獨立實例的下列MWE中的結果總數?Stata:獲得行狀態的聚集

clear 
input str16 username betnumber stake probability subsequentwinnings 
player1 1 10 0.5 -10 
player2 1 10 0.5 10 
player3 1 10 0.5 -10 
player4 1 10 0.5 -10 

player2 2 20 0.5 -20 
player3 2 20 0.5 -20 
end 

generate result = "L" 
replace result = "W" if (subsequentwinnings >0) 

bysort username (betnumber): gen resulthistory = result[1] 
by username : replace resulthistory = resulthistory[_n-1] + result if _n > 1 

我是否需要發出命令preserve/restore,通過它們之間resulthistory聚集?

+1

我不清楚你想要達到什麼效果,但是對於這樣的運動,「保護」和「恢復」聽起來不對。這些命令使您可以放棄在這些命令之間創建的數據的所有更改,因此在使用這些塊時很難彙總結果。 –

回答

3

讓我們回答你提出的問題。唯一的事件只發生一次;這就是這個詞的意思。因此,每個唯一值都會出現一次,並且您不需要程序來計算1作爲答案。你可能想知道出現一次的歷史導致的,那些是可識別的可變

bysort resultshistory : gen unique = _N == 1 

現在讓我們假設你沒有說你說的一個指標。我建議在前面的答案閱讀

在不同的觀測(爲什麼這個詞「獨一無二」是一種誤導): http://www.stata-journal.com/sjpdf.html?articlenum=dm0042

因爲這是整個問題的審查,對各種命令的詳細信息被使用,我會在那裏停下來。

您的各種問題都擅長於在問題出現之前顯示您的代碼,但您並不總是顯示試圖回答您的問題的代碼。您也沒有明確表明您正在查看文檔,包括StataCorp常見問題解答和Stata日記本中的可訪問資料,因此儘管我試圖幫助您,但我也會因爲沒有顯示嘗試的代碼解決方案而不願意顯示研究工作。

+0

獨特之戰確實早已失傳。建議適當注意。我會相應地編輯未來的問題。 – user2146441