Сгенерируйте все возможные пары и посчитайте частоту в Python - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть база данных продуктов (яблоко, груша, банан), проданных в разных местах (городах) в разных категориях (продукты питания и съедобные продукты).

Я бы хотел посчитать, сколько раз любая данная пара продуктов появилось вместе в любой категории.

Это пример набора данных, над которым я пытаюсь работать:

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 и некоторое время путался.

Я пытаюсь использовать это для вычисления сродства между различными элементами.

Дополнительные пояснения к выводу: мой полный набор данных состоит из сотен разные предметы. Хотел бы получить фрейм данных, где первый столбец - это пара, а второй столбец - это количество для каждой пары.

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