楼主: 中国火箭
6069 3

[问答] 关联规则transaction数据准备 [推广有奖]

  • 0关注
  • 0粉丝

本科生

46%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
344 点
帖子
27
精华
0
在线时间
138 小时
注册时间
2005-6-11
最后登录
2018-10-1

50论坛币




假设有如下data.frame,一行是一个购物篮;color,effect,smell,use,price是五种商品,如果是TRUE则表示篮子中有该商品,FALSE就是没有


Capture.PNG


那么请问这样的data.frame怎么转换成关联分析那种transaction数据呢?



关键词:Transaction Action Trans 关联规则 ans 购物篮 color price

回帖推荐

沙发
万人往LVR 在职认证  发表于 2016-6-28 20:38:50 |只看作者 |坛友微信交流群
  1. > library(arules)
  2. > data <- data.frame(color=c(T,T,F,F,T),shape=c(T,F,F,T,F),size=c(F,F,T,T,T))
  3. > data
  4.   color shape  size
  5. 1  TRUE  TRUE FALSE
  6. 2  TRUE FALSE FALSE
  7. 3 FALSE FALSE  TRUE
  8. 4 FALSE  TRUE  TRUE
  9. 5  TRUE FALSE  TRUE
  10. > dlist <- apply(data,1,function(x) colnames(data)[unlist(x,use.names=F)])
  11. > dlist
  12. [[1]]
  13. [1] "color" "shape"

  14. [[2]]
  15. [1] "color"

  16. [[3]]
  17. [1] "size"

  18. [[4]]
  19. [1] "shape" "size"

  20. [[5]]
  21. [1] "color" "size"

  22. > trans <- as(dlist,"transactions")
  23. > inspect(trans)
  24.   items        
  25. 1 {color,shape}
  26. 2 {color}      
  27. 3 {size}      
  28. 4 {shape,size}
  29. 5 {color,size}
复制代码

使用道具

藤椅
中国火箭 发表于 2016-6-28 20:48:59 |只看作者 |坛友微信交流群
把数据集转成矩阵或list
然后as(dataset name,"transactions")就可以了

使用道具

板凳
柠檬半熟 发表于 2019-2-24 11:47:47 |只看作者 |坛友微信交流群
万人往LVR 发表于 2016-6-28 20:38
你好~我也遇到了这个问题,但是在编写代码的时候我的dlist里面全部都是一样的数字了,请问怎么能够变成正常的transaction的形式呢?

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 17:03