如何计算以下MWE中每个独特结果历史实例的观察总数?
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
之间进行汇总?
答案 0 :(得分:3)
在你摆出姿势时,让我们回答你的问题。唯一的事件只发生一次;那个词的意思是什么。因此,每个唯一值出现一次,并且您不需要程序来计算1作为答案。您可能想知道哪些结果历史只发生一次,并且可以通过指标变量
来识别bysort resultshistory : gen unique = _N == 1
现在让我们假设你并不是说你说的话。我在之前的回答中建议
关于不同的观察(以及为什么单词" unique"具有误导性): http://www.stata-journal.com/sjpdf.html?articlenum=dm0042
由于这是对整个问题的回顾,有关要使用的各种命令的详细信息,我将停在那里。
在提出问题之前,您的各种问题都很好地展示了您的代码,但您并不总是会显示试图回答问题的代码。您也没有明确表示您正在查看文档,包括StataCorp常见问题解答以及 Stata Journal 中的可访问材料,所以尽管我正在努力帮助您,但我也会向您展示未展示的尝试代码解决方案而不显示研究工作。