所以,我目前没有具体的数据,但我对这类问题感到好奇。
让我们假设我的数据框如下所示:
Name Number Sum
What (feat.Drake) 1A 100
What 1A 100
What (Radio Edit) 1A 100
What (I Remix) 1B 200
What (Remastered) 1B 200
这变成了:
Name Number Sum
What (feat.Drake) 1A 300
What (I Remix) 1B 400
所以,我试图在那里做的是总结数字和。但是,名称无法删除,因此我保留了数据框中出现的第一个名称。
任何形式的帮助将不胜感激!
答案 0 :(得分:1)
我们可以使用dplyr
library(dplyr)
df1 %>%
group_by(Number) %>%
summarise(Name = first(Name), Sum = sum(Sum))
# Number Name Sum
# <chr> <chr> <int>
#1 1A What (feat.Drake) 300
#2 1B What (I Remix) 400
答案 1 :(得分:0)
这是一个基本的R方法。它有点罗嗦,但有效:
cbind("Name"=df$Name[!duplicated(df$Number)], aggregate(Sum ~ Number, data=df, sum))
name Number Sum
1 What_(feat.Drake) 1A 300
2 What_(I_Remix) 1B 400
像往常一样,aggregate
按组获得总和。按组分类的第一个名称由duplicated
标识,并使用子集[
提取。这些结果与cbind
结合使用。最后,我在cbind
内添加了Name变量名称。