虽然我一直使用Stackoverflow,但这是我的第一个问题,所以我希望它足够详细。提前谢谢。
我正在尝试从大型数据集中提供一些统计信息,其中我有一组用户ID。数据集中的每条记录都是一个客户用户ID。我需要能够按销售代表汇总...每个销售代表的用户ID数量和每个销售代表的客户数量
sample <- data.frame(rep = c(1,1,1,1,1,2,2,2),
customer = c("A","A","A","B","C","X","X","Y"),
userID = c("ID1","ID2","ID3","ID4","ID5","ID6","ID7","ID8"))
在这个数据集中,我需要能够说:
Rep ID -- # of Cust -- # of IDs
Rep 1 -- 3 customers -- 5 IDs
Rep 2 -- 2 customers -- 3 IDs
我打算把2张桌子放在一起,但这并不能让我在那里...... data.frame(table(paste(sample$rep,sample$customer)))
给了我一个非常手工的方法来得出我的答案。
感谢您的帮助!
答案 0 :(得分:4)
更新以反映@Lamia评论,它通过使用内置的dplyr
函数简化了代码。
library(dplyr)
sample %>% group_by(rep) %>% summarize(customer = n_distinct(customer),
user = n_distinct(userID))
输出:
rep customer user
<dbl> <int> <int>
1 1 3 5
2 2 2 3