# Fraley, Oct 2003

# Exercise for R/S+ on confidence intervals around correlations

# www.uic.edu/~fraley/classes/

 

# never fixed

 

# Initialize some variables. These can be changed.

 

n.studies<-20    # Number of samples to draw from population

n<-50           # Number of people in each sample

pop.cor<-.5      # Correlation in the population (rho)

z.crit<-1.96     # Critical value for 95% of normal distribution

 

 

# Set up some vectors for saving information

 

x.cor<-1:n.studies

ci.vec<-1:n.studies

 

# Begin loop

# In this loop, a number of samples of size n will

# be drawn from the same population. The program

# will calculate the sample mean (and save it as the ith element

# of x.mean) and half the width of the confidence interval

 

for(i in 1:n.studies){

   x1<-rnorm(n)

   x2<-pop.cor*x1 + rnorm(n,0,sqrt(1-pop.cor^2))

   x.cor[i]<-cor(x1,x2)

 

   se<-(1 - x.cor[i]^2)/sqrt(n - 0)

   ci.vec[i]<-se*z.crit

}

 

# Plot results

# Plots the 95% CI for each study. A solid line

# demarcates the true parameter

 

plot(1:n.studies,x.cor,ylim=c(min(x.cor)-max(ci.vec),max(x.cor)+max(ci.vec) ))

abline(h=pop.cor,col=6)

 

for(i in 1:n.studies){

   lines(c(i,i),c((x.cor[i]-ci.vec[i]),(x.cor[i]+ci.vec[i])) )

}