У меня проблемы с преобразованием объекта dataframe в объект транзакции.Я создаю фрейм данных, сгруппированный по InvoiceNumber, и список продуктов, разделенных символом ',' (тогда фрейм данных содержит два столбца), все в порядке,
df = read.csv('Orders.csv', sep = ';', stringsAsFactors = T)
df$Document.Date = as.Date(df$Document.Date, format = '%d/%m/%Y')
library(tidyverse)
library(plyr)
grouping_for_AA =
data.frame(
df %>%
group_by(Sales.Document, Material) %>%
dplyr::select(Sales.Document, Material, Document.Date)
)
#Create transaction data building a list of material for each sales doc
#separated by a ,
transactionData = ddply(grouping_for_AA, c('Sales.Document'),
function(df) paste(df$Material,
collapse = ',')
)
, но когда я использую транзакции as (data, '') функция R говорит мне, что нужно дискретизировать ввод, поэтому я использую as.factor для столбца списка продуктов, но при этом каждая транзакция становится фактором уровня, и никакие правила не могут быть добыты (ясно).
#set column InvoiceNo of dataframe transactionData
transactionData$Sales.Document <- NULL
#Change name of lists of Materials
colnames(transactionData) = 'Material'
#transform to factor
transactionData = data.frame(lapply(transactionData, factor))
#Create a transaction object: errors can be due to the package containing 'as'
trObj <- as(transactionData, "transactions")
Я уже пробовал кадры данных в формате сингла и в корзине, но не смог их решить.
Есть идеи, как преобразовать кадр данных в формат транзакции без экспорта и перезагрузки данных?