I'm trying to convert a bunch of Stata commands to their R equivalents, and I'm struggling with how R does handle confidence intervals for inferential statistics of single variables.
In Stata, I can use ci variable to calculate normal confidence intervals, ci variable, b to calculate binomial intervals, and ci variable, p to calculate the intervals assuming the variable is distributed as Poisson.
R seems slightly more complicated, though (confint() only works with models…). It appears that I have to run the respective tests to get the confidence intervals (t.test, binom.test, and poisson.test). I'm fine doing that, but these functions seem to be less generalized than Stata's ci command.
For example, to calculate a normal 95% confidence interval I use t.test:
set.seed(1234)
x <- rnorm(100)
t.test(x)
# 95 percent confidence interval:
# -0.35605755 0.04253406
However, it seems to be a lot more complicated to calcuate binomial or Poisson intervals. For example, if I have a column of binary data (yes/no; 1/0) like x below, Stata appears to convert it into count data automatically when running ci x, b. In R, I have to convert it to count data on my own with sum():
set.seed(1234)
x <- sample(0:1, 100, replace=TRUE) # lots of 0s and 1s
binom.test(sum(x), length(x))
# 95 percent confidence interval:
# 0.3503202 0.5527198
Is manually feeding in the sum and the length of the variable the official R-esque way of calculating the confidence interval assuming a binomial distribution, or is there a better way?
Likewise, what's the most R-esque way to calculate confidence intervals for a variable assumed to follow a Poisson distribution--the equivalent of ci x, p:
set.seed(1234)
x <- rpois(100, 5) # random Poisson distribution
# ... magic R voodoo ...
# Confidence interval!
So, I guess in summary, what's the best R equivalent for Stata's ci x, ci x, b, and ci x, p commands for single variables?