Q:

central limit theorem VS standard deviation of multiple group means

I understand that we can estimate confidence interval of sample mean using CLT. However, I am wondering if we could treat mean value of each sampled group data as a single data entry and estimate their standard deviation to finish this calculation? Or where is wrong about this approach? An example,
If I have the following 4 groups of measurements, which follows normal distribution with mean=30, stand deviation=10. 
    group_mean  group_sd Ob1     Ob2     Ob3    Ob4     Ob5
group1  33.43   5.92    30.24   43.15   27.49   32.98   33.30
group2  28.92   11.04   32.42   38.83   32.14   31.32   9.91
group3  26.53   7.18    19.34   22.86   33.37   35.11   21.95
group4  28.26   7.43    21.09   28.13   23.19   40.24   28.66

If I treat each group mean as a data point (33.43, 28.92, 26.53, 28.26) and the mean is 29.29 and standard deviation (sample) is 2.94.
So can I assume the confidence interval of sample mean = 29.29 +/- t*2.94??
Thanks in advance!

A:

Theoretically, the standard error is the standard deviation for the sampling distribution.  In this case, what you have proposed is to sample from the sampling distribution 4 times (obtaining 4 means). The standard deviation of these values should provide an approximation for the standard deviation of the sampling distribution...i.e., the standard error. Conceptually, if you are using the correct $t$-distribution (using the correct degrees of freedom), it seems as though this should produce a reasonable result.
Follow-up
I am not convinced this strategy will work unless the correct degrees of freedom are used for the grouped means data set. Here is a brief simulation that shows that you obtain about 2% incorrect conclusions with a 98% confidence interval treating the data as an aggregate data set. But using the group means with different critical values does not produce the same results:

### set random seed
set.seed(1234)
### formula for CI:  x-bar ± t.cv * SD/√n
### t_cv for 98% confidence interval with df=19 (and others)
t.cv <- qt(1-0.02/2,19)
t.cv2 <- qt(1-0.02/2,4)
t.cv3 <- qt(1-0.02/2,16)
### generate data sets with mean 50 and stdev 10
n.sim <- 10^5
check.TF.1 <- rep.int(NA,n.sim)
check.TF.2 <- check.TF.1
check.TF.3 <- check.TF.1
check.TF.4 <- check.TF.1
grps <- ceiling({1:20}/5)
for(i in 1:n.sim) {
   x <- rnorm(20,50,10)
   grp.Ms <- aggregate(x~grps,FUN="mean")[,2]
   CI <- mean(x) + c(-1,1)*t.cv*sd(x)/sqrt(20)
   chk <- {CI[1] < 50} * {50 < CI[2]}
   check.TF.1[i] <- chk
   CI <- mean(x) + c(-1,1)*t.cv2*sd(grp.Ms)
   chk <- {CI[1] < 50} * {50 < CI[2]}
   check.TF.2[i] <- chk
   CI <- mean(x) + c(-1,1)*t.cv3*sd(grp.Ms)
   chk <- {CI[1] < 50} * {50 < CI[2]}
   check.TF.3[i] <- chk
   CI <- mean(x) + c(-1,1)*t.cv*sd(grp.Ms)
   chk <- {CI[1] < 50} * {50 < CI[2]}
   check.TF.4[i] <- chk
   }
table(check.TF.1)
table(check.TF.2)
table(check.TF.3)
table(check.TF.4)

