Вычислить точное значение p критерия Фишера в строках данных

У меня есть список из 1700 образцов в кадре данных, где каждая строка представляет количество красочных предметов, которые каждый помощник подсчитал в случайном количестве образцов из разных ящиков. Есть два доступных цвета и два человека, которые подсчитывают предметы, так что это может легко создать таблицу на случай непредвиденных обстоятельств 2x2.

df
Box-ID  1_Red  1_Blue  2_Red  2_Blue
1       1075   918     29     26
2       903    1076    135    144

Я хотел бы знать, как я могу обрабатывать каждую строку как таблицу с постоянством (вектор или матрицу), чтобы выполнить тест хи-квадрат (например, Фишера или Барнарда) и создать шестой столбец с p-значениями. Это то, что я пробовал до сих пор, но я не уверен, правильно ли это

df$p-value = chisq.test(t(matrix(c(df[,1:4]), nrow=2)))$p.value 

1 ответ

Решение

Я думаю, что вы могли бы сделать что-то вроде этого

df$p_value <- apply(df,1,function(x) fisher.test(matrix(x[-1],nrow=2))$p.value)
Другие вопросы по тегам