[R] Cronbach's alpha

Doran, Harold
2007-01-24T18:33:30Z

Weiwei

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))
	a
 	}

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


Harold

> -----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