逐行 Fisher 精确检验,按 R 中的样本分组

问题描述

考虑以下数据框:

df1
#   bacteria           sample     Number_x          Number_y    
#1        A           HM_001          100                30
#2        B           HM_001           50                60
#3        C           HM_001          300                10
#4        D        A2_HM_001          400                20
#5        E        A2_HM_001           22                11
#6        F           HM_002           23                35
#7        G           HM_002          120                46
#8        H           HM_003           50                51
# … with 1,342 more rows

按样本分组,我希望对每种细菌进​​行行式两侧 Fisher 精确检验。 (例如 HM_001 如下所示)。

HM_001 Number_x Number_y
A 100 30
其他(在本例中为 B 和 C) 350 70
HM_001 Number_x Number_y
B 50 60
其他(在本例中为 A 和 C) 400 40

等等,基本上为数据帧中的 1350 行中的每一行生成一个 p 值。

以下是我的尝试:

Fisher_result <- df1 %>%   
  group_by(sample) %>% 
  row_wise_fisher_test(as.matrix(df1[,c(3,4)]),p.adjust.method = "BH")

但是没有用,输出如下错误信息:

Error in row_wise_fisher_test(.,as.matrix(df1[,: 
  A cross-tabulation with two columns required

任何指针将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)