Вычислить точное значение 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)