# [R] Cronbach's alpha

Dave Atkins datkins at fuller.edu
Wed Jan 24 22:08:22 CET 2007

```Harold & Weiwei--

Actually, alpha *can* go negative, which means that items are reliably different
as opposed to reliably similar.  This happens when the sum of the covariances
among items is negative.  See the ATS site below for a more thorough explanation:

http://www.ats.ucla.edu/STAT/SPSS/library/negalpha.htm

Hope that helps.

cheers, Dave
--
Dave Atkins, PhD
Assistant Professor in Clinical Psychology
Email: datkins at fuller.edu
Phone: 626.584.5554

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)
 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
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
--
Dave Atkins, PhD
Assistant Professor in Clinical Psychology