Давайте попробуем что-то вроде этого:
df = data.frame(id=1:49,
q1 = sample(0:1,49,prob=c(0.7,0.3),replace=TRUE),
q2 = sample(0:1,49,prob=c(0.5,0.5),replace=TRUE),
q3 = sample(0:1,49,prob=c(0.3,0.7),replace=TRUE),
group = sample(c("a","b"),49,replace=TRUE)
)
Вы можете проверить связь каждого вопроса с группой, используя критерий Фишера для каждого столбца, например, ниже мы делаем между q1 и группой:
fisher.test(table(df$q1,df$group))
Fisher's Exact Test for Count Data
data: table(df$q1, df$group)
p-value = 0.5072
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
0.09971675 2.43186118
sample estimates:
odds ratio
0.5346084
Вы можете настроить смешанную модель, если вопросы связаны между собой, и есть влияние отдельного человека:
library(lme4)
newdf = pivot_longer(df,-c(id,group))
glmer(value ~ name*group + (1|id),data=newdf,family="binomial")
Я думаю, что тест Фишера может быть наиболее прямым для вас.