# [R] Invert Likert-Scale Values

Alexis Delevett adelevet at yahoo.com
Sun Aug 5 03:45:21 CEST 2007

You guys come up with some amazing stuff! Of course,
however, I'm not exactly able to more than just
acknowledge your input at some point... I feel I'm
lacking some vital basics. Be that as it may, I
thought I'd let you know what's happened to your input
on my side:

glm(recode(PLANMOV, "'yes'='no'; 'no'='yes'")~
log(8-ATTMT_AVG), family=binomial(link="probit"),
data=dta),

with PLANMOV as a dichotomous variable on whether at
the time a move is planned, and ATTMT_AVG as the
average of some 9 Likert-Scale coded items, where 1 is
high agreement and 7 is high disagreement.

Since the underlying theoretical rationale is that
greater attachment to the home will per definitionem
mean a smaller tendency to move, combining the recode
and inversion-by-subtraction approaches means to
represent functionally the structure of the
theoretical argument.

So while of course the coefficient is the same, I
think it is an achievement to be able to express a
thought statistically in the same way I do mentally,
and not just by implication (i.e. when I find that low
attachment means greater willingness to move as is the
direct reading of the untransformed function).

Cheers, Alexis

--- ted.harding at nessie.mcc.ac.uk wrote:

> On 04-Aug-07 22:02:33, William Revelle wrote:
> > Alexis and John,
> >
> > To reverse a Likert like item, subtract the item
> from the maximum
> > acceptable value + the minimum acceptable value,
> > That is, if
> > x <- 1:8
> > xreverse <- 9-x
> >
> > Bill
>
> A few of us have suggested this, but Alexis's
> welcome for the
> recode() suggestion indicates that by the time he
> gets round to
> this his Likert scale values have already become
> levels of a factor.
>
> Levels "1", "2", ... of a factor may look like
> integers, but they're
> not; and R will not let you do arithmetic on them:
>
> > x<-factor(c(1,1,1,2,2,2))
> > x
> [1] 1 1 1 2 2 2
> Levels: 1 2
> > y<-(3-x)
> Warning message:
> "-" not meaningful for factors in: Ops.factor(3, x)
> > y
> [1] NA NA NA NA NA NA
>
> However, you can turn them back into integers,
> reverse, and then
> turn the results back into a factor:
>
> > y <- factor(3 - as.integer(x))
> > y
> [1] 2 2 2 1 1 1
> Levels: 1 2
>
> So, even for factors, the insight undelying our
> suggestion of "-"
> is still valid! :)
>
> Best wishes,
> Ted.
>
>
--------------------------------------------------------------------
> E-Mail: (Ted Harding) <ted.harding at nessie.mcc.ac.uk>
> Fax-to-email: +44 (0)870 094 0861
> Date: 05-Aug-07
>  Time: 00:09:58
> ------------------------------ XFMail
> ------------------------------
>

____________________________________________________________________________________

More information about the R-help mailing list