-3

我想从篮球数据集中生成一个滚动平均变量。因此,如果在 1 月 1 日第一次观察是 25 点,则生成的变量将显示 25。如果在 1 月 2 日第二次观察是 30 点,则生成的变量将显示 27.5。如果第三个观测值是 35 个点,则生成的变量将显示 30,以此类推。

4

2 回答 2

3

y对于按最简单的时间排序的变量t,迄今为止的平均值是

gen yave = sum(y) / _n 

这是累积总和除以观察次数。如果偶尔有缺失值,它们会被忽略,sum()但分母需要固定,比如

 gen yave = sum(y) / sum(y < .) 

这很容易概括为面板结构

 bysort id (t) : gen yave = sum(y) / sum(y < .) 
于 2015-02-15T00:45:29.010 回答
0

这是我想出的解决方案。我必须创建三个变量,一个累积积分(分子)和一个运行计数(分母),然后将这两个变量相除以获得每场比赛的玩家积分:

gen player_pts = points if player[_n]!=player[_n-1]
replace player_pts=points+player_pts[_n-1] if player[_n]==player[_n-1]&[_n]!=1
by player: gen player_games= [_n]
gen ppg=player_pts/player_games
于 2015-02-15T14:29:45.590 回答