Say I have data collected from an independent multinomial sampling scheme that violates Cochran's cell expecteds condition. Instead of Pearson's $\chi^2$ test of independence, can I use the Bayesian method?

If so, I would like to make sure that I am making the right interpretations. The raceDolls example in the BayesFactor package was useful, but I want to extend this to an nx5 table and make sure I understand the output. Here's an example:

#Create fake data. Yes, I could just create a table with those probabilities, but this was more fun.
df <- data.frame(subjectType = sample(LETTERS[1:5], 150, replace=TRUE, prob=c(0.15, 0.1, 0.09, 0.22, 0.44)))
df$probs <- ifelse(df$subjectType == "A", "c(0.05, 0, 0, 0.09, 0.86)",
               ifelse(df$subjectType == "B", "c(0.2, 0, 0, 0.14, 0.66)",
                      ifelse(df$subjectType == "C", "c(0, 0.23, 0, 0, 0.77)",
                             ifelse(df$subjectType == "D", "c(0.1, 0.15, 0.03, 0.09, 0.63)",
                                    ifelse(df$subjectType == "E", "c(0.24, 0.14, 0.02, 0.05, 0.55)",NA)))))
splitDf <- split(df, df$subjectType)
splitDf <- lapply(splitDf,  function(x) cbind(x, cat = eval(parse(text = paste("sample(LETTERS[22:26], nrow(x), replace=T, prob=", x$probs[1], ")")))))
df <- do.call("rbind", splitDf)
tabDf <- table(df$cat, df$subjectType)

#fisher.test(tabDf) # common alternative. Assumes fixed totals
friedman.test(tabDf) # another test that's used as an alternative

contingencyTableBF(tabDf, sampleType = "indepMulti", fixedMargin = "cols")

The output shows $BF_{01}^I = 0.07$, so it 14 times more likely under the null hypothesis of independence than the alternative hypothesis.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.