在R

时间:2018-10-29 23:31:20

标签: r dataframe group-by dplyr distinct-values

我在R的group_by()结果中得到重复。说我正在尝试按名称对以下数据框进行分组:

name <- c("John", "Sally", "Sally", "Sue")
sales <- c(10, 20, 5, 30)
example <- data.frame(name, sales)
print(example)

所以我想创建一个表,使用以下代码显示每个销售员的所有销售额:

library(dplyr)

example %>% group_by(name) %>% select(name, sales)

但是,我一直两次列出“ Sally”。相反,我只希望Sally的总销售额获得一次(25)。如何在“名称”列中获得不同的值?我整天一直在搜索,因为我认为group_by应该这样做。

我是否使用distinct()?我在Python HERE上看到了类似的帖子,并且最杰出的贡献者说用户应该尝试使用sort。我实际上进行了尝试,但是R Studio突然说,当我添加它来获取以下代码时,它找不到对象“名称”:

example %>% sort(name) group_by(name) %>% select(name, sales)

但是当我删除sort()函数时,R设法读取“ group_by(name)”就好了。我想念什么?

谢谢

1 个答案:

答案 0 :(得分:1)

我们可以使用summarisesum按“名称”分组的“销售”

example %>% 
    group_by(name) %>% 
    summarise(sales = sum(sales))