Мои данные получены из вопроса с несколькими вариантами ответов, в котором респонденты могли выбрать более одного варианта (пять вариантов выбора - это разные роли, которые они выполняли, например, Роль 1 - участник комитета по ИТ или Роль 2 - участник бюджетного комитета , так далее.). Я преобразовал роли в двоичные переменные, где «1» означает, что респондент выбрал эту роль, а «0» означает, что они не выбрали ее.
Вот пример данных:
structure(list(Role1 = c(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 0, 1), Role2 = c(0, 1, 1, 1, 1, 0, 1, 1, 1,
1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1), Role3 = c(1, 0, 0, 0, 0, 1,
0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1), Role4 = c(0, 1, 0,
1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0), Role5 = c(0,
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1)), row.names = c(NA,
-20L), class = c("tbl_df", "tbl", "data.frame"))
Используя пакет bindata
, его функция condprob
вычисляет вероятность того, что респондент занимал какую-либо из ролей, если он выполнял другую роль.
library(bindata)
# Returns a matrix containing the conditional probabilities, and converts the matrix to a data frame
condlTable.df <- as.data.frame(condprob(SOdata))
Мой программный вопрос: как R может взять любую случайную пару ролей и вычислить условную вероятность любой из других ролей? Например, если респондент выбрал Role1 и Role2, пару ролей, какова вероятность того, что они также выбрали Role3, Role4 или Role5? Идеальный результат был бы похож на результат condprob
, но для пар выбора.
Спасибо за вашу помощь.