【问题标题】:R: Convert Data Frame to Transactions to Use ARules PackageR:将数据帧转换为事务以使用 ARules 包
【发布时间】:2014-12-02 21:57:36
【问题描述】:

我有一个导入后的 csv 文件,它看起来像下面的数据框:

df <- read("data.csv")

ID  Name  Flag1 Flag2 Flag3 Flag4
1    a      0    F2     F3   F4
2    b     F1     0     F3   F4
3    c      0    F2     F3    0
4    d      0    F2     0    F4
5    e     F1    F2     F3    0

ID 和名称是因素。 Flag1 到 Flag4 是字符。

我需要用到rules包,所以需要把这个数据框转成事务文件。我知道要这样做,我需要将所有值转换为因子,所以我这样做了:

as(as.factor(Flags), "transactions")

这给了我这个:

Error in sort.list(y) : 'x' must be atomic for 'sort.list'
Have you called 'sort' on a list?

然后我尝试直接读取csv文件:

read.transactions("data.csv", format = "basket", sep = ",")

这给了我这个:

Error in asMethod(object) : 
  can not coerce list with transactions with duplicated items

我认为这是因为数据中有 0,但我想不出删除 0 的方法。要使用规则包中的函数,我需要数据集看起来像这样,对吗?

1,a,F2,F3,F4
2,b,F1,F3,F4
3,c,F2,F3
4,d,F2,F4
5,e,F1,F2,F3

提前谢谢。

【问题讨论】:

    标签: transactions dataframe arules


    【解决方案1】:

    尝试通过以下方式读取数据:

    required_Data

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-15
      • 2017-04-12
      相关资源
      最近更新 更多