У меня есть база данных продуктов (яблоко, груша, банан), проданных в разных местах (городах) в разных категориях (продукты питания и съедобные продукты).
Я бы хотел посчитать, сколько раз любая данная пара продуктов появилось вместе в любой категории.
Это пример набора данных, над которым я пытаюсь работать:
category <- c('food','food','food','food','food','food','edibles','edibles','edibles','edibles', 'edibles')
location <- c('houston, TX', 'houston, TX', 'las vegas, NV', 'las vegas, NV', 'philadelphia, PA', 'philadelphia, PA', 'austin, TX', 'austin, TX', 'charlotte, NC', 'charlotte, NC', 'charlotte, NC')
item <- c('apple', 'banana', 'apple', 'pear', 'apple', 'pear', 'pear', 'apple', 'apple', 'pear', 'banana')
food_data <- data.frame(cbind(category, location, item), stringsAsFactors = FALSE)
Например, появилась пара "яблоко и банан" вместе в категории «еда» в «Лас-Вегас, Невада», но также в категории «съедобные» в «Шарлотта, N C». Таким образом, счетчик для пары «яблоко и банан» будет равен 2.
Мой желаемый результат - это количество пар вот так:
(неупорядоченный) счетчик яблок и бананов
2
(неупорядоченный) счетчик яблок и груш
4
У кого-нибудь есть идеи, как это сделать sh? Относительно плохо знаком с R и некоторое время путался.
Я пытаюсь использовать это для вычисления сродства между различными элементами.
Дополнительные пояснения к выводу: мой полный набор данных состоит из сотен разные предметы. Хотел бы получить фрейм данных, где первый столбец - это пара, а второй столбец - это количество для каждой пары.