我目前的数据:
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/