使用tidyverse扩展Rstudio中的数据集

x759pob2  于 2022-12-06  发布在  其他
关注(0)|答案(1)|浏览(133)

我有一个关于订单数据的大型数据集,一些客户重新购买了它,而一些没有这样做。
简单的示例数据集如下所示。

data_sample <- c(rep("JAck", 3), "Ann", rep("Alice", 2), "Mark", "Grace")
time_sample <- c("2018-10-03 19:51:51",
                 "2018-10-05 19:55:15",
                 "2018-11-19 06:26:02",
                 "2019-01-06 15:24:30",
                 "2018-10-01 15:15:43",
                 "2018-10-05 11:12:54",
                 "2019-01-27 00:49:19",
                 "2018-10-03 10:10:34")

dat_sample <- cbind(data_sample, time_sample)

这意味着Jack已经订购了该商品三次,并且他再次购买了该商品;爱丽丝已经点了两次了; Ann、Mark和Grace只订购了一次,他们没有回购。因此,我如何突变一个新变量,例如,是否_to_purcahse为这些客户?1表示回购,0表示不回购。
既然我想把dat_sample转移到excel中的数据框中,如下图所示,我如何在r中用tidyverse操作它呢?我知道我需要首先确定这个人是否回购,然后我需要知道如果他回购了,他总共订购了多少次。最后,我需要把长日期集变成一个更宽的数据集。但是,我在执行上述步骤时遇到了一些问题。有什么建议或帮助吗?
非常感谢。

llmtgqce

llmtgqce1#

dat_sample %>%
  group_by(data_sample) %>%
  arrange(time_sample) %>%     # unnecessary if sorted already
  mutate(instance = row_number()) %>%
  ungroup() %>%
  pivot_wider(names_from = instance, values_from = time_sample) %>%
  mutate(reordered = 1 * !is.na(`2`))  # 0 if 2 NA; 1 if not

相关问题