title: precision of the digits comparison in R
body: <p>I have a vector of combined p-values </p>
  
  <pre><code>&gt; o=apply(first[,2:11],1,function(x){combine.test(x,method="z.transform")})
  &gt; tail(o)
  [1] 0.9999999995 1.0000000000 0.9999999997 1.0000000000 0.0002175058 0.9917320029
  </code></pre>
  
  <p>I want to get rid of those that are equal to 1. However, when I filter for &lt;1 it shows me:</p>
  
  <pre><code>&gt; tail(o)&lt;1
  [1] TRUE TRUE TRUE TRUE TRUE TRUE
  
  &gt; tail(o)==1
  [1] FALSE FALSE FALSE FALSE FALSE FALSE
  </code></pre>
  
  <p>It seems that those 1.0000000000 are some strange numbers.</p>
  
  <p>How is it possible to get rid of those strange 1.00000 numbers?</p>
  
  <pre><code>dput(first)
  structure(list(Gene = c("ENSMUSG00000092486.1/RP23-3M10.7", "ENSMUSG00000092531.1/AC141469.5", 
  "ENSMUSG00000092558.1/Med20", "ENSMUSG00000092586.1/Ly6g6c", 
  "ENSMUSG00000092622.1/2410004A20Rik", "ENSMUSG00000092627.1/D130058E05Rik"
  ), `1` = c(0.999999, 0.116888889291925, 0.999999, 0.999999, 0.0356438866313227, 
  0.338819427575004), `2` = c(0.999999, 0.16984670116627, 0.0949427348451135, 
  0.999999, 0.0198038633633834, 0.444175650852497), `3` = c(0.337290753228492, 
  0.999999, 0.999999, 0.115690963937986, 0.00094912741834492, 0.999999
  ), `4` = c(0.065059701538611, 0.147390334507149, 0.428856119856378, 
  0.999999, 8.0249957121889e-05, 0.999999), `5` = c(0.999999, 0.999999, 
  0.0099824266161115, 0.999999, 0.999999, 0.999999), `6` = c(0.999999, 
  0.999999, 0.390023754495407, 0.00188057344411906, 0.058035758898251, 
  0.44761301524626), `7` = c(0.04315700527774, 0.999999, 0.999999, 
  0.999999, 0.214404456827703, 0.146838114471751), `8` = c(0.406400467867621, 
  0.482290327519181, 0.44496129797812, 0.4310551014979, 0.344487266646367, 
  0.0780371377632325), `9` = c(0.284690064722141, 0.999999, 0.999999, 
  0.420531266751804, 0.362998909144492, 0.141348974658222), `10` = c(0.999999, 
  0.999999, 0.999999, 0.999999, 0.021530155378956, 0.00713928192385325
  ), z_trans_combined = c(0.99999999949304, 0.999999999999999, 
  0.999999999672598, 0.999999999999986, 0.000217505802858482, 0.991732002864124
  ), fisher_combined = c(0.571740537425434, 0.871888411704888, 
  0.514120936458559, 0.440446119525803, 3.9948288121646e-07, 0.106343021839262
  )), .Names = c("Gene", "1", "2", "3", "4", "5", "6", "7", "8", 
  "9", "10", "z_trans_combined", "fisher_combined"), row.names = 15096:15101, class = "data.frame")
  </code></pre>