交易数据:获取每个客户R

时间:2020-05-12 19:21:40

标签: r

我们正在处理一个大型订单级数据集,我们尝试将其引入客户级。 有一个名为Hoofdrubriek的类别变量,它指示所购买产品的主要类别(有7个等级)。现在,对于每个客户,我们希望将Hoofdrubriek的可能值作为列,并将在该主要类别(该客户的)中购买的时间作为值。

使用以下代码:

hoofdrubriek_per_client <- data %>% 
  group_by(klantnr) %>%
  mutate(Count = n()) %>%
  group_by(hoofdrubriek = paste0("Hoofdrubriek_", hoofdrubriek), add = TRUE) %>%
  summarise(Count = first(Count), n1 = 1)  %>%
  spread(hoofdrubriek, n1, fill = 0)

我们成功获得以下结果,如果客户从未从该类别购买过商品,则显示0;如果客户从未购买过,则显示1。

image

我们现在想要的是,这些值(0和1)更改为客户从该类别购买的实际次数。 我试图将“ n1 = 1”更改为“ n1 = Count”,如下所示:

hoofdrubriek_per_client <- data %>% 
  group_by(klantnr) %>%
  mutate(Count = n()) %>%
  group_by(hoofdrubriek = paste0("Hoofdrubriek_", hoofdrubriek), add = TRUE) %>%
  summarise(Count = first(Count), **n1 = Count**)  %>%
  spread(hoofdrubriek, n1, fill = 0)

但是现在1改变的是该客户的总频率,而不是该特定主要类别的时间。我们应该怎么做?

非常感谢!

0 个答案:

没有答案
相关问题