I just cannot avoid sharing this crazy thing...
I've derived a "p-value-like" statistics in a slightly weired way (that's a separate story) to feed it into Bioconductor's "piano" package.
> str(statistics)
'data.frame': 3911 obs. of 1 variable:
$ pNG.2v1: num 0.852 0.512 0.865 0.798 0.647 ...
> summary(statistics)
pNG.2v1
Min. :0.0000
1st Qu.:0.4859
Median :0.8501
Mean :0.7053
3rd Qu.:0.9963
Max. :1.0000
# Bioconductors "piano" package doesn't like this as a p-value equivalent:
### Checking arguments...Error in checkLoadArg(geneLevelStats, directions, geneSetStat, signifMethod, :
### geneLevelStats does not lie in [0,1], geneLevelStats can only be p-values for geneSetStat='fisher'
# if we look at the checkLoadArg function from piano package
#
http://search.bioconductor.jp/codes/11371# the trouble is here:
> min(statistics) >= 0 & max(statistics) <= 1
[1] FALSE
# what???
# this was narrowed down further... and now I am speechless:
> max(statistics)
[1] 1
> max(statistics) <= 1
[1] FALSE
> max(statistics) == 1
[1] FALSE
# when the shock was over, I started to suspect what is going on:
> round(max(statistics),0) == 1
[1] TRUE
> max(statistics) > 1
[1] TRUE
> max(statistics) - 0.000000000000001 > 1
[1] FALSE
> max(statistics) - 0.0000000000000001 > 1
[1] TRUE
# Bingo!