[R] Discrepency between confidence intervals from t.test and computed manually -- why?

Chuck Cleland ccleland at optonline.net
Wed Jan 4 10:54:01 CET 2006


Your two methods agree for me:

 > Cs137 <- 
read.table("http://geomechanics.geol.pdx.edu/Courses/G423/Texts/Davis3/CROATRAD.TXT", 
skip=1)[,5]

 > mu <- mean(Cs137); n <- length(Cs137)
 > se.mean <- sqrt(var(Cs137)/n)
 > # two-tail alphas
 > alpha <- c(1, 5, 10, 20)/100
 > # t-values for each tail
 > t.vals <- qt(1-(alpha/2), n-1)
 > # name them for the respective alpha
 > names(t.vals) <- alpha
 > # low and high ends of the confidence interval
 > round(ci.low <- mu - se.mean * t.vals, 2)
0.01 0.05  0.1  0.2
4.77 5.12 5.29 5.49
 > round(ci.hi <- mu + se.mean * t.vals, 2)
0.01 0.05  0.1  0.2
7.58 7.24 7.07 6.87

 > t.test(Cs137)

         One Sample t-test

data:  Cs137
t = 11.5122, df = 124, p-value < 2.2e-16
alternative hypothesis: true mean is not equal to 0
95 percent confidence interval:
  5.115488 7.239712
sample estimates:
mean of x
    6.1776

David Rossiter wrote:
> I am sure there is something simple here I am missing, so please bear
> with  me.
> 
> It concerns the computation of the confidence interval for a population
> mean.
> 
> The data are 125 measurements of Cs137 radation, a sample data set from
> Davis "Statistics and Data Analysis in Geology" 3rd ed. (CROATRAD.TXT)
> ------------------
> method 1: using textbook definitions: mean \pm se_mean * t-value
> 
> mu <- mean(Cs137); n <- length(Cs137)
> se.mean <- sqrt(var(Cs137)/n)
> # two-tail alphas
> alpha <- c(1, 5, 10, 20)/100
> # t-values for each tail
> t.vals <- qt(1-(alpha/2), n-1)
> # name them for the respective alpha
> names(t.vals) <- alpha
> # low and high ends of the confidence interval
> round(ci.low <- mu - se.mean * t.vals, 2)
> round(ci.hi <- mu + se.mean * t.vals, 2)
> 
> Output:
> 0.01 0.05  0.1  0.2 
> 5.66 5.81 5.90 5.99 
> 
> 0.01 0.05  0.1  0.2 
> 6.69 6.54 6.46 6.36 
> 
> -----------------
> 
> So for the 95% confidence level I seem to get a CI of 5.81 .. 6.54
> 
> ------------------
> method 2: using t.test.  I am not really testing for any specific mean,
> I just want the confidence interval of the mean, which t.test seems to
> give to me:
> 
> Input:
> t.test(Cs137)
> 
> Output:
> 
>         One Sample t-test
> 
> data:  Cs137 
> t = 11.5122, df = 124, p-value < 2.2e-16              <-- not relevant
> alternative hypothesis: true mean is not equal to 0   <-- not relevant
> 95 percent confidence interval:
>  5.115488 7.239712 
> sample estimates:
> mean of x 
>    6.1776 
> ------------------------------
> 
> So with t.test I seem to get a CI of 5.12 .. 7.24 which is considerably
> wider than the directly computed interval 5.81 .. 6.54.  Perhaps I am
> mis-understanding the CI which t.test is reporting?
> 
> Any help would be appreciated.
> 
> Thank you.
> 
> D G Rossiter
> Senior University Lecturer
> Department of Earth Systems Analysis (DESA)
> International Institute for Geo-Information Science and Earth
> Observation (ITC)
> Hengelosestraat 99
> PO Box 6, 7500 AA Enschede, The Netherlands
> mailto:rossiter at itc.nl,  Internet: http://www.itc.nl/personal/rossiter
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
> 

-- 
Chuck Cleland, Ph.D.
NDRI, Inc.
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 452-1424 (M, W, F)
fax: (917) 438-0894




More information about the R-help mailing list