[R] Cronbach's alpha

Doran, Harold HDoran at air.org
Wed Jan 24 19:33:30 CET 2007


Something is wrong. Coefficient alpha is bounded between 0 and 1, so
negative values are outside the parameter space for a reliability
statistic. Recall that reliability is the ratio of "true score" variance
to "total score variance". That is

var(t)/ var(t) + var(e)

If all variance is true score variance, then var(e)=0 and the
reliability is var(t)/var(t)=1. On the other hand, if all variance is
measurement error, then var(t) = 0 and reliability is 0.

Here is a function I wrote to compute alpha along with an example. Maybe
try recomputing your statistic using this function and see if you get
the same result.

alpha <- function(columns){
	k <- ncol(columns)
	colVars <- apply(columns, 2, var)
	total   <- var(apply(columns, 1, sum))
	a <- (total - sum(colVars)) / total * (k/(k-1))

data(LSAT, package='ltm')
> alpha(LSAT)
[1] 0.2949972 


> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch 
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Weiwei Shi
> Sent: Wednesday, January 24, 2007 1:17 PM
> To: R R
> Subject: [R] Cronbach's alpha
> Dear Listers:
> I used cronbach{psy} to evaluate the internal consistency and 
> some set of variables gave me alpha=-1.1003, while other, 
> alpha=-0.2; alpha=0.89; and so on. I am interested in knowing 
> how to interpret 1. negative value 2. negative value less than -1.
> I also want to re-mention my previous question about how to 
> evaluate the consistency of a set of variables and about the 
> total correlation (my 2 cent to answer the question). Is 
> there any function in R to do that?
> Thank you very much!
> --
> Weiwei Shi, Ph.D
> Research Scientist
> GeneGO, Inc.
> "Did you always know?"
> "No, I did not. But I believed..."
> ---Matrix III
> ______________________________________________
> 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
> and provide commented, minimal, self-contained, reproducible code.

More information about the R-help mailing list