R语言 具有相同值的行的总和[重复]

afdcj2ne  于 2022-12-30  发布在  其他
关注(0)|答案(2)|浏览(240)
    • 此问题在此处已有答案**:

(18个答案)
18小时前关门了。
我有一个数据框,里面有足球统计数据,包括gameID(这是哪场比赛)、leagueID(这场比赛"属于"五大联赛中的哪一个)、进球数和犯规数。问题是数据框包含了每支球队,所以GameID是双倍的。为了从外部了解比赛结果,我喜欢总结结果,得出一个GameID的最终结果。
我有这个数据框:
| 游戏ID|联盟ID|目标|犯规|
| - ------| - ------| - ------| - ------|
| 八十一|1个|1个|十二|
| 八十一|1个|无|十二|
| - -------| - -------| ― ― ― ― ― ― ―| - ----|
| 八十三|1个|第二章|七|
| 八十三|1个|第二章|十三|
| - -------| - -------| ― ― ― ― ― ― ―| - ----|
| 八十八|1个|无|十二|
| 八十八|1个|第二章|九|
我希望得到这样的结果:
| 游戏ID|联盟ID|目标|犯规|
| - ------| - ------| - ------| - ------|
| 八十一|1个|1个|二十四|
| 八十三|1个|四个|二十个|
| 八十八|1个|第二章|二十一|
我试着用"rowsums"创建新的列。我的问题是我需要每个游戏ID的总和,而不是整行的总和。

zpqajqem

zpqajqem1#

您可以使用group_bysummarize来获得汇总表。

library(dplyr)

data %>%  #the name of your dataframe
  group_by(GameID) %>%  
  summarise(leagueID  = mean(leagueID),
            goals = sum(goals),
            fouls = sum(fouls))
uujelgoq

uujelgoq2#

您可以通过dplyr按游戏ID和联赛ID分组轻松地完成此操作

library(dplyr)

games <-
tribble(
     ~GameID,  ~leagueID,    ~goals,   ~fouls,
        81,        1,       1,     12,
        81,        1,       0,     12,
        83,        1,       2,      7,
        83,        1,       2,     13,
        88,        1,       0,     12,
        88,        1,       2,      9
  )

games |> 
  group_by(GameID,leagueID) |> 
  summarise(goals_sum = sum(goals), fouls_sum = sum(fouls))

相关问题