R newb。我的数据的小代表。动态计数的发生
TeamHome <- c("LAL", "HOU", "SAS", "LAL")
TeamAway <- c("IND", "SAS", "LAL", "HOU")
df <- data.frame(cbind(TeamHome, TeamAway))
df
TeamHome TeamAway
LAL IND
HOU SAS
SAS LAL
LAL HOU
想象这些成千上万的游戏一个赛季的前四场比赛。对于主队和客队,我想要计算在家中,在路上和总数上的累计比赛数量。因此,主队和客队都有3个新栏目。我想获得这样的事情(在这种情况下,我只计算主队新的变量):
TeamHome TeamAway HomeTeamGamesPlayedatHome HomeTeamGamesPlayedRoad HomeTeamTotalgames
1 LAL IND 1 0 1
2 HOU SAS 1 0 1
3 SAS LAL 1 1 2
4 LAL HOU 2 1 3
要计算第一列(HomeTeamGamesPlayedatHome)我成功做到这一点的:
df$HomeTeamGamesPlayedatHome <- ave(df$TeamHome==df$TeamHome, df$TeamHome, FUN=cumsum)
但感觉过于复杂,我也无法用这种方法计算其他列。
我也想过用公式表计算出现的数量:
table(df$TeamHome)
,但它只是计算总数,我想在任何给定时间点的结果。 谢谢!
好问题,upvote for reproducable example and desired output – user2673238