我有一个 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 和 Name 是因素。Flag1 到 Flag4 是 chr。
需要用到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
提前谢谢。