R: преобразование фрейма данных в транзакции для использования пакета ARules

У меня есть 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.

Мне нужно использовать пакет правил, поэтому мне нужно преобразовать этот фрейм данных в файл транзакции. Я знаю, что для этого мне нужно преобразовать все значения в коэффициенты, поэтому я сделал это:

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

Спасибо заранее.


person Cinji18    schedule 02.12.2014    source источник


Ответы (1)


Попробуйте прочитать данные следующим образом:

required_Data‹-read.transactions("data.csv", rm.duplicates=TRUE, format = "basket", sep = ",")

Надеюсь, это поможет!

person akash kulkarni    schedule 27.01.2015