[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