为什么group_by需要太长时间才能计算?

时间:2019-08-27 07:00:39

标签: r dplyr

df是我的示例数据帧,而df1是我的预期数据帧。

df<-data.frame(customer=c("x","x","x","x"),
               device_id=c("65efy","57rfyhj","65efy","65efy"),
               duration=c(23,45,56,78))


df1<-as.data.frame(df%>%group_by(customer,device_id) %>%
  mutate(frequency=length(device_id),avg_duration=round(mean(duration),digits = 0))%>%
  select(customer,device_id,frequency,avg_duration)%>%
  distinct())

当df有200万行时,df1将花费超过1个小时!太慢了。我只是想通过客户和设备ID来计算频率和平均持续时间组

是否有其他方法可以加快此过程或减少dyplr所花费时间的建议?

0 个答案:

没有答案