Мои данные взяты из базы данных SQL и представлены в виде таблицы, в которой у меня есть несколько строк для одной транзакции. Вместо того, чтобы просто использовать поле «product», я хочу использовать все остальные столбцы во фрейме данных.
Мои данные соответствуют приведенным ниже:
transID <- c('1','1','2','3')
state <- c('TX','TX','CA','MA')
product <- c('Oranges','Banana','Fish','Cheese')
Month <- c('January','January','Febuary','March')
Place <- c('A','A','B','C')
transactions <- data.frame(transID,state,product,Month,Place)
transactions
transID state product Month Place
1 1 TX Oranges January A
2 1 TX Banana January A
3 2 CA Fish Febuary B
4 3 MA Cheese March C
В идеале мои данные должны выглядетьследующим образом:
1 (TX,Oranges,Banana,January,A)
2 (CA,Fish,Febuary,B)
3 (MA, Cheese, March,C)
Каков наилучший способ перевести данные такого рода в формат транзакций?
Я пробовал следующее, но я просто объединяю строки 1 и 2 вместекак одна транзакция:
transactionData <- ddply(transactions,c("transID"),
function(df1) paste(df1$state,
df1$product,
df1$Month,
df1$Place,
collapse = ","))