R错误:"' x'的所有条目必须是非负的和有限的"导致数据不完整交叉

时间:2015-06-19 14:15:04

标签: r intersect

我正在交叉两个文件,然后对结果进行费希尔测试和浓缩测试。然而,在进行费希尔测试之后,出现了一个我不理解的错误。

> ee=c()
> E=c()
> for (e in 1: length(conditions))
+ {
+   for(i in 1: length(view))
+   {
+     A=length(na.omit(intersect(conditions[,e], view[,i])))
+     B=length(na.omit(intersect(conditions[,1], view[,i])))
+     C=length(na.omit(conditions[,e]))
+     D=length(na.omit(conditions[,1]))
+     ee=c(ee, fisher.test(matrix(c(A,B-A,C-A,A-B-C+D),nrow=2,ncol=2)
+                          ,alternative="two.sided")$p.val)                                     
+     E=c(E, (A/B) /  ((C-A)/(D-B))) 

+}     +}      fisher.test中的错误(矩阵(c(A,B - A,C - A,A - B - C + D),nrow = 2,:       ' x'的所有条目必须是非负的和有限的

  

EE

    [1] 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00                                      1.000000e+00 1.000000e+00
      [8] 1.000000e+00 1.000000e+00 1.000000e+00 1.000000e+00 2.429018e-05         1.572763e-01 1.000000e+00
    [15] 3.620512e-03 6.605189e-01 3.930938e-01 7.564593e-01 8.356520e-01    8.354842e-01 8.718355e-01
         [22] 1.000000e+00 7.174337e-01 1.813913e-01 3.480816e-01 9.189262e-02 8.892926e-01 6.528839e-02
         [29] 1.000000e+00 8.452332e-01 1.000000e+00 1.000000e+00 1.000000e+00
  

电子

  [1] 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000       1.0000000 1.0000000 1.0000000
   [11]       NaN 0.2527881 0.6250381 0.9075342 2.1028830 0.8772727 0.6801843 1.1282051 0.8698752 0.9007353
   [21] 0.9247312       NaN 0.8624535 1.3294461 0.5018939 0.5030426 1.0376344 1.5870968 0.9445438 0.9242424
   [31] 0.9570313 0.9907834       NaN

"条件" dataframe包含10列," view" dataframe包含11列。交叉后,我预计会有一个110结果来自费希尔测试和浓缩计算(E = c(E,(A / B)/((C-A)/(D-B)))),而不是输出中的33。两个数据帧中都有NA,但na.omit应该注意这一点,所有其他值都只是正数值。

非常感谢帮助。

0 个答案:

没有答案