For example:
poisson.test(x = 170,T = 70,r = 3,alternative = "two.sided",conf.level = .95)
Exact Poisson test
data: 170 time base: 70
number of events = 170, time base = 70, p-value = 0.005157
alternative hypothesis: true event rate is not equal to 3
95 percent confidence interval:
2.077216 2.822335
sample estimates:
event rate
2.428571
gives me the answer I would expect for a 95% CI. But if I change the alternate to a one-tail test:
poisson.test(x = 170,T = 70,r = 3,alternative = "less",conf.level = .95)
Exact Poisson test
data: 170 time base: 70
number of events = 170, time base = 70, p-value = 0.002502
alternative hypothesis: true event rate is less than 3
95 percent confidence interval:
0.000000 2.758037
sample estimates:
event rate
2.428571
We can see that the CI has changed drastically when I changed only the alternative hypothesis. Something similar happens in binom.test() as well. In the Biometrika article cited in the function (https://doi-org.colorado.idm.oclc.org/10.1093/biomet/26.4.404) I don't see any mention of changing the limits based on the alternative, and I can't think of any reason you would want to.
Am I missing something here?