r - 数据框从现有行添加新行

标签 r dplyr

我目前的数据:

Type             Country        Score
University       Australia       10
University       Brazil          10
University       Hong Kong       10
College          Australia       10
College          Brazil          10
College          Hong Kong       10

现在,我想要对从上述数据创建的新行进行汇总,如下所示。新行是一个国家/地区每所大学和学院的分数总和。

Type             Country         Score
University       Australia       10
University       Brazil          10
University       Hong Kong       10
College          Australia       10
College          Brazil          10
College          Hong Kong       10
All              Australia       20
All              Brazil          20
All              Honk Kong       20

我知道我可以编写一个循环来遍历数据并检查国家,但也许我可以使用像 dplyr 这样的包来实现我想要的。

最佳答案

我们需要group_by 'Country' 得到'Score' 的sum,用“All”新建一个'Type' 列,并将行与原始数据绑定(bind)

library(dplyr)
df1  %>% 
  group_by(Country) %>%
  summarise(Score = sum(Score)) %>%
  mutate(Type = "All") %>% 
  bind_rows(df1, .)
#        Type   Country Score
#1 University Australia    10
#2 University    Brazil    10
#3 University Hong Kong    10
#4    College Australia    10
#5    College    Brazil    10
#6    College Hong Kong    10
#7        All Australia    20
#8        All    Brazil    20
#9        All Hong Kong    20

关于r - 数据框从现有行添加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54606246/

相关文章:

r - (函数(..., row.names = NULL, check.rows = FALSE, check.names = TRUE, : Arguments imply different number of rows: 1, 4, 5, 2

r - 在 R 中保存高分辨率图像

r - 在R中逐行解析csv

r - 将 5 位数字和日期的变量转换为日期值

r - 在 dplyr 的重命名函数中以字符串形式输入新列名称

r - 使用 dplyr::tbl 引用 PostgreSQL(振幅分析)表失败

r - 大虚线geom_line,但点更靠近

r - dplyr - 查找 y 列的所有最大值和相应的 x 值

r - 提取多个列组中共有的元素

R - 如何以成对匹配的方式组合多个列中的值,可能使用 'mutate' 或 'coalesce' ?