I am not sure, but I think R is doing not what it is supposed to do.
Using binom.test()
my understanding of the parameter alternative="greater"
is the following hypothesis.
$$H_0: p \le p_0 \quad \text{vs.} \quad H_1: p > p_0$$
(I mean it says greater and not greater or equal).
P-Value then should be calculated as follows: $$p(c) = P_{H_0}(Z>c) = 1 - P_{H_0}(Z\le c)$$
Here is the equivalent R-Code
binom.test(8, 10, alternative="greater", p=0.5)$p.value
#[1] 0.0546875
1-pbinom(8,10,0.5) # 1-P(c<=Z)
#[1] 0.01074219
1-pbinom(8-1,10,0.5) # 1-P(c<Z)
#[1] 0.0546875
So where is my mistake? Or is R just a little imprecise? And if I am right and R is realy testing the "wrong" (="not exactly what one would expect") hypothesis: What is with the other tests? Does "greater" always mean >= ?