-2

我有一份针对不同客户的银行交易清单,每笔交易都有交易时间。我需要将事务分组到 24 个 bin 中,其中每个 bin 代表一小时的间隔,例如:8-9 am、9-10 am、22-23pm 等 24 小时。所以首先我想为每笔交易的每个小时间隔分配一个 bin 编号,例如:8-9 am = "1",9-10am = "2",依此类推,直到 24。然后我会看看频率每个客户的每个箱子。例如,客户在下午 4 点到 5 点之间购买所有垃圾箱的次数等等。
我附上了我的数据的截图。

在此处输入图像描述

我用了

as.POSIXct(Customers$TRANSACTION.TIME,format="%H:%M:%S")

但它给我的输出看起来像这样 在此处输入图像描述

我正在寻找的代码应该是这样的:

Customers$timebins = ifelse(
  Customers$TRANSACTION.TIME >= 8 & Customers$TRANSACTION.TIME < 9,
  1,
  ifelse(
    Customers$TRANSACTION.TIME >= 9 &
      Customers$TRANSACTION.TIME < 10,
    2,
    ifelse(........
    )

等等。

4

1 回答 1

0

如果您希望垃圾箱是每小时一次,这可以很容易地完成,Customers$timebins <- lubridate::hour(Customers$TRANSACTION.TIME)这将为您提供 24 小时长的垃圾箱。

于 2018-01-16T13:36:22.023 回答