Learn R Programming

fishmethods (version 1.9-0)

clus.t.test: Correcting a Two-Sample Test for Clustering

Description

Calculates Hedges (2007) t-statistic adjustment and degrees of freedom for a t-test assuming unequal variances and clustered data with clusters of unequal size.

Usage

clus.t.test(popchar = NULL, cluster = NULL, group = NULL, rho = NULL, alpha = 0.05, alternative = c("two.sided"))

Arguments

popchar
vector of population characteristic measurements (e.g., length, weight, etc.). One row represents the measurement for an individual.
cluster
vector of numeric or character codes identifying individual clusters (or hauls).
group
vector of group membership identifiers.
rho
common intra-cluster correlation for groups.
alpha
alpha level used to calculate t critical value. Default=0.05
alternative
a character string specifying the alternative hypothesis, must be one of "two.sided" (default), "greater" or "less".

Value

ntilda (Equation 14 of Hedges 2007), nu (Equation 15), degrees of freedom (Equation 16), uncorrected t-statistic, cu (Equation 18), the t-statistic adjusted for clustering, critical t value for degrees of freedom and alpha, and probability of significance.

Details

A two-sample t-test with unequal variances (Sokal and Rohlf, 1995) is performed on clustered data. The t-statistic and degrees of freedom are corrected for clustering according to Hedges (2007).

References

Sokal,R.R.and F.J.Rohlf. 1995. Biometry, 3rd Edition. W.H. Freeman and Company, New York, NY. 887 p.

Hedges,L.V. 2007. Correcting a significance test for clustering. Journal of Educational and Behavioral Statistics. 32: 151-179.

Examples

Run this code
   data(codcluslen)
   temp<-codcluslen[codcluslen$number>0,]
   temp$station<-c(paste(temp$region,"-",temp$tow,sep=""))
   total<-aggregate(temp$number,list(temp$station),sum)
   names(total)<-c("station","total")
   temp<-merge(temp,total,by.x="station",by.y="station")
   newdata<-data.frame(NULL)
   for(i in 1:as.numeric(length(temp[,1]))){
    for(j in 1:temp$number[i]){
     newdata<-rbind(newdata,temp[i,])
    }
  }
 newdata<-newdata[,-c(5)]
 clus.t.test(popchar=newdata$length,cluster=newdata$station,
            group=newdata$region,rho=0.72,
            alpha=0.05,alternative="two.sided") 

Run the code above in your browser using DataLab