Я экспериментирую с априорным алгоритмом в пакете arules.
Вот что я сделал: я загрузил представление из SQL Server в R. Поскольку эти данные не в форме транзакций (для использования в априори), мне пришлось преобразовать их:
данные ‹- sapply(заказы, as.factor)
Затем я ввел априорную функцию:
априори (данные, параметр = список (поддержка = 0,005, достоверность = 0,5))
Я получаю эту ошибку:
Ошибка в t(as(from, "ngCMatrix")): ошибка в оценке аргумента "x" при выборе метода для функции "t": Ошибка в asMethod(object): невозможно принудить "NA" к "nsparseMatrix"
Я проверил запрос, и у меня даже нет атрибута NULL/NA.
Я не понимаю, что означает ошибка. Кто-нибудь знает, в чем проблема и как это решить?
apriori()
в какую-то форму, например целочисленную или двойную, таким образом создаваяNA
, где вы не найдете их раньше? Вы пробовалиsum(is.na(data))
и что вышло? - person Gullydwarf   schedule 19.12.2014sum(!is.finite(data))
? - person Gullydwarf   schedule 19.12.2014is.finite()
возвращаетTrue
для чисел иFalse
для символов,NULL
,NA
,NaN
, 'Inf'. Вероятно, вы прочитали свои данные, но они все еще в символьном формате. Если ваши данные должны быть числовыми, попробуйте еще раз сsum(!is.finite(as.numerical(data)))
. Это скажет вам, сколько полей содержат не числа - person Gullydwarf   schedule 19.12.2014is.character
действительно даетTRUE
. Разве для априорной функции невозможно обработать набор данных в символьном формате? - person Kim   schedule 19.12.2014typeof()
для тех столбцов только с числами, он говоритcharacter
(потому что я использовалas.factor
, чтобы изменить его). Когда я опускаю эти столбцы, мне не нужно сначала использоватьas.factor
, и априорная функция работает нормально. В других наборах данных с числами это уже работает, но мне не нужно было использоватьas.factor
для этих наборов данных, поэтому я думаю, что это как-то связано. Вы знаете, как я могу включить столбцы с числами в любом случае? - person Kim   schedule 23.12.2014as.factor()
в первую очередь? :) - person Gullydwarf   schedule 24.12.2014Error in asMethod(object) : column(s) 1, 5 not logical or a factor. Use as.factor or categorize first
- person Kim   schedule 24.12.2014