以Stata为单位的滚动平均获胜百分比

以Stata为单位的滚动平均获胜百分比,stata,moving-average,Stata,Moving Average,我目前正在为国际足球经理制作一些关于胜利百分比滚动平均值的工作,因为我打算在未来的一些持续时间建模中使用这一点。我只是有点不确定如何在斯塔塔产生这个滚动平均值,以考虑到赢球、平局或输球的傻瓜,以及经理何时离开他们的工作。我还生成了一个“结果变量”,仅作为一个类别变量,用于捕获这三个结果 例如,在我的数据集中的前3个观察值中,我有第一个赢得前两场比赛、输掉第三场比赛的经理;之后,他离开了他的职位。因此,从数字上看,他将在第一次和第二次观察中获得100%的成功率,然后在第三次观察中获得66.6%的成

我目前正在为国际足球经理制作一些关于胜利百分比滚动平均值的工作,因为我打算在未来的一些持续时间建模中使用这一点。我只是有点不确定如何在斯塔塔产生这个滚动平均值,以考虑到赢球、平局或输球的傻瓜,以及经理何时离开他们的工作。我还生成了一个“结果变量”,仅作为一个类别变量,用于捕获这三个结果


例如,在我的数据集中的前3个观察值中,我有第一个赢得前两场比赛、输掉第三场比赛的经理;之后,他离开了他的职位。因此,从数字上看,他将在第一次和第二次观察中获得100%的成功率,然后在第三次观察中获得66.6%的成功率。然后,新经理必须重新设置获胜百分比。如果这有帮助的话,我已经分别对经理的ID进行了编码。我只是想知道如何正确地编码这个滚动平均值,而不是每次都使用计算器?

假设你有这样一个赢或输的虚拟数据:

win manager_id  game_num
1   1   1
1   1   2
0   1   3
1   2   1
1   2   2
1   2   3
0   3   1
0   3   2
1   3   3
您可以使用以下内容:

bysort manager_id (game_num): gen pct = sum(win)
replace pct = 100*pct/game_num