Stata:获取行条件的聚合

时间:2014-03-28 10:47:52

标签: stata

如何计算以下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之间进行汇总?

1 个答案:

答案 0 :(得分:3)

在你摆出姿势时,让我们回答你的问题。唯一的事件只发生一次;那个词的意思是什么。因此,每个唯一值出现一次,并且您不需要程序来计算1作为答案。您可能想知道哪些结果历史只发生一次,并且可以通过指标变量

来识别
bysort resultshistory : gen unique = _N == 1 

现在让我们假设你并不是说你说的话。我在之前的回答中建议

  

关于不同的观察(以及为什么单词" unique"具有误导性):   http://www.stata-journal.com/sjpdf.html?articlenum=dm0042

由于这是对整个问题的回顾,有关要使用的各种命令的详细信息,我将停在那里。

在提出问题之前,您的各种问题都很好地展示了您的代码,但您并不总是会显示试图回答问题的代码。您也没有明确表示您正在查看文档,包括StataCorp常见问题解答以及 Stata Journal 中的可访问材料,所以尽管我正在努力帮助您,但我也会向您展示未展示的尝试代码解决方案而不显示研究工作。