преобразование данных транзакции в двоичный матричный формат с помощью R - PullRequest
0 голосов
/ 21 мая 2018

У меня есть такой набор данных транзакции: данные транзакции

Я использовал пакет "arules" для преобразования его в данные транзакции.

transactions <- read.csv("transactions.csv",header=TRUE,sep=",") agg <- split(transactions$item,transactions$TransID) ready <- as(agg,"transactions")

Теперь мне нужен CSV-файл на рабочем столе, представляющий собой двоичную матричную форму: транзакции в строках и элементах в столбцах: значения 0 и 1 в матрице выглядят следующим образом: двоичный формат матрицы

Я использовал функцию write в пакете " arules ", но не смог ее получить.

1 Ответ

0 голосов
/ 21 мая 2018

Ваши данные

transID <- c(48864208,48864208,48864266,48864266,48864266,48864266,48864276,48864276,
             48864276,48864276,48864282,48864282,48864282,48864282,48864282,48864282,
             48864282,48864282,48864282,48864296,48864296,48864300,48864300,48864300,
             48864300,48864300,48864300,48864300,48864300,48864300)
item <- c("dinner","cleaning","breakfast","breakfast","drink","dinner","dinner",
          "dinner","dinner","dinner","breakfast","snack","snack","snack","breakfast",
          "dinner","dinner","breakfast","dinner","dinner","dinner","fruit","fruit",
          "fruit","dinner","breakfast","breakfast","drink","cleaning","dinner")
head(data.frame(transID,item))
 transID      item
1 48864208    dinner
2 48864208  cleaning
3 48864266 breakfast
4 48864266 breakfast
5 48864266     drink
6 48864266    dinner

использовать табличную функцию и ifelse для преобразования таблицы в двоичную матрицу

tab = table(transID,item)
tab
binarymat = ifelse(tab > 0,1,0)
print(binarymat)
# use write.csv function
write.csv(binarymat,"binarymat.csv")

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...