向arules交易对象添加扩展交易信息

Add extended transaction information to arules transactions object

我有一个数据框,我试图使用 arules 包将其强制转换为交易对象进行分析。这是我的问题的可重现示例:

df <- data.frame(
  case_number = c("1001", "1001", "1002", "1002", "1003"),
  date = as.Date(c("2016-04-19", "2016-04-21", "2016-05-21", "2016-05-25", 
    "2016-06-14")),
  happy = factor(c("Yes", "No", "Yes", "No", "No")),
  food = ordered(
    c(1, 2, 1, 3, 1),
    levels = c(1, 2, 3),
    labels = c("A lot", "Some", "None")
  ),
  stringsAsFactors = FALSE
)

df

  case_number       date happy  food
1        1001 2016-04-19   Yes A lot
2        1001 2016-04-21    No  Some
3        1002 2016-05-21   Yes A lot
4        1002 2016-05-25    No  None
5        1003 2016-06-14    No A lot

如果我删除 case_numer 和日期,我可以毫不费力地强制执行。但是,在 introduction to arules 示例 1 中,Epub 事务对象的摘要包括以下内容:

includes extended transaction information - examples:
      transactionID           TimeStamp
10792  session_4795 2003-01-01 19:59:00
10793  session_4797 2003-01-02 06:46:01
10794  session_479a 2003-01-02 09:50:38

您可以使用以下代码自行重新创建:

library(arules)
data(Epub)
summary(Epub)

我的问题是,如何添加case_numberdate作为扩展交易信息。我查看了 arules 文档和这个

可以使用方法 transactionInfo 访问交易信息(参见 ? transactions)。它包含一个 data.frame 每个事务一行。