Affective control cards

This is the all-you-ever-wanted-to-know page about affective control "cards".  First, some terms:

 

Let's say you had a couple of Likert-style items like these 'uns:

 

1)West Australian beaches are unsurpassed in the whole world.

 

1  Strongly disagree

2  Disagree

3  Undecided

4  Agree

5  Strongly agree

 

2)The beaches of Maui are better than West Australia's.

 

1  Strongly disagree

2  Disagree

3  Undecided

4  Agree

5  Strongly agree

 

Both of these items have five possible responses, or options, or alternatives, and use response codes of {1,2,3,4,5}.  It's possible to have items with more options; Lertap allows up to 10 options per item.  Items do not have to use the Likert style.  The response codes used to not have to be digits (examples below).

 

Likert-style items are very common; another popular style is the semantic differential.

 

If we at Lertap central wanted to "score" these items, we'd be content to follow the conventional pattern of letting "strongly disagree" equal one point, "disagree" two points, ..., and "strongly agree" five points.

 

Respondents could end up with a low total "score" of two (2) points, and a top total "score" of ten (10) points.  They'd get the low "score" if they answered "strongly disagree" on both items.  They'd get the top "score" if they chose "strongly agree" on both items.

 

It's not really necessary to think about "scores" such as these, but some people find them useful.  And, if they do, and if they work for WATC, the West Australian Tourist Commission, they'd likely want to reverse the scoring for the second item.

 

Say what?  Reverse the scoring?  You bet; it's a common happenstance.  The WATC mob would want people to strongly disagree with the second item above.  They'd give "strongly disagree" a "score", or weight, of 5, "disagree" a weight of 4, ..., and "strongly agree" a weight of 1.  This way the top scores will come from people who not only love WA's beaches, but think they're better than those found around Maui.

 

Okay then, we've got some basic terms under the belt.  Of course, if we're on one of those beaches, we may not have a belt to put them under, but let's proceed anyway.

 

Say we had five items of the sort shown above.  Say we asked 200 WA-based people to respond to the items, and took the trouble to fly to Hawaii, paddle out to Maui, and ask another 200 folks to respond to the same five questions.  We entered the 400 responses into a Lertap Data worksheet, with some sort of ID code in column 1, a location code of "W" or "M" in column 2, and the answers to the five questions in columns 3, 4, 5, 6, and 7.  Were we to look down columns 3 through 7, we'd see 1s, and 2s, and 3s, and 4s, and 5s, corresponding to answers of "strongly disagree" through to "strongly agree".

 

Having entered the data, we need to go to work in Lertap's CCs worksheet.

 

Example A1:

We started with this set of two CCs cards:

*col (c3-c7)

*sub AFF

These two simple cards are all that some people might use to process the results.  The *col card gets Lertap and Excel to read information from the Data worksheet, looking at five columns, 3 through 7.  The *sub card has the AFF control word -- this is necessary in order to get Lertap to process the items as affective ones; without this card, and without the AFF control word on it, Lertap would have tried to process the items as cognitive ones, and would have wanted to find a *key card with the right answers to each item.

 

Lertap will "score" each item, giving a weight of 1 every time it encounters a 1 in the item's Data column, a weight of 2 for a response of 2, and so on.  The minimum score on any item is 1, the maximum is 5.

 

Lertap will also make a "subtest score", or "scale score", for each respondent, placing these in its Scores worksheet.  Such scores are just the sum of the item scores.  Since there are five items, the minimum possible subtest score would be 5; the maximum would be what?  Yes, 25.

 

Not everyone is interested in these scores.  Many people are, but some aren't.  Lertap makes them, and you'll just ignore them if you don't like to score affective items.

 

Example A2:

Example A1 was too simple if we're interested in scores.  You've already heard that the second item was to have reverse scoring; you didn't know it, but the third item was also to be reversed.  We have need for a *pol card:

*col (c3-c7)

*sub AFF

*pol +--++

The *pol card is usually optional for affective subtests.  It's hauled out when some of the items are to be reverse-scored. The "pol" stands for "polarity".

 

The *pol card above tells Lertap that the second and third items are to be reverse-scored -- that's what the minus (-) signs mean.  The little plus (+) signs tell Lertap to score items 1, 4, and 5 in the usual, "forward", manner.

 

Example A3:

Now we'll put in some labels to grace Lertap's reports:

*col (c3-c7)

*sub AFF, Name=(Beach survey 1), Title=(Beachin)

*pol +--++

The Name shown above will appear at the top of some of Lertap's reports, such as Stats1f and Stats1b, while the Title will show up at the top of one of the Scores worksheet's columns.  The Name can be any length; Title should be kept to 8 characters or less.  If Name and Title are not given, Lertap defaults to Name=(Test 1), Title=(Test1).

 

Example A4:

Next we'll add some more control words to the *sub card, and then explain what they accomplish:

*col (c3-c7)

*sub AFF, Title=(Beachin), PER, SCALE

*pol +--++

The PER control word prompts Lertap to compute a percentage score for each respondent, being his or her score expressed as a percentage of the maximum possible score.  For example, on our little test of five questions, the maximum possible score was 25; someone with a score of 15 would get a PER score of 60%.

 

SCALE gets Lertap to "normalise" the scores.  It divides each person's score by the number of items.  This is best used when all the items have the same number of options; it results in a score scaled back to the scores used at the item level.

 

For example, let's say someone scored 10 on our 5-item test.  Divide this score, 10, by the number of items, 5, and SCALE=2.00 for this person.  This might make us think that the person's "average" response to our items was "disagree",  since "disagree" had a scoring weight of 2.

 

SCALE can be handy when processing an affective instrument with numerous subscales, each scale having a different number of items.  If SCALE is used on each respective *sub card, then we can scan any person's SCALEd scores and quickly see their "average" positions on the 1-to-5 scale used to score each item.  (The manual has a real-life example of just such a situation: see Chapter 8, where the MSLQ instrument is discussed.)

 

Example A5:

Now we will toss in two more control words for the *sub card:

*col (c3-c7)

*sub AFF, MDO, Title=(Beachin), Wt=0

*pol +--++

The MDO control word will get Lertap to turn off its missing data option.  Lertap makes a standard response substitution when people don't answer an item: it gives them an item score equal to the mean of the item weights (note).  In our example, the item weights range from 1 to 5; the mean is 3.  A person not answering an item gets a score of 3; someone declining to answer all items would get a score of 15 on our 5-item scale.

 

To turn off this automatic substitution, use MDO on the *sub card, as exemplified above.  To have more control over how missing data are processed, use *mws cards with an "other=" declaration, as mentioned below, under Example A11.

 

Revision note 12 September 2004: the way the MDO option works has changed.  Now MDO effectively means "missing data out"; when MDO is present, subtest statistics are adjusted so that they exclude people who haven't answered items.  This is further discussed in the following topic.

 

The Wt=0 declaration shown above says to Lertap: "As you go about summing all the subtest scores to make a total score, give this subtest a weight of zilch (zero)."

 

What's that, you say?

 

Well, whenever a CCs worksheet has more than one *col card, we're into a situation where there are multiple subtests.  We are?  Sure: each *col card defines a new subtest.

 

Granted, there aren't multiple *col cards in this example, but pretend there were.

 

Lertap's standard modus operandi is to add all the subtest scores together, making a total score for each person.  Usually this total is just the sum of the subtest scores, much as if Wt=1 had been used on each subtest's *sub card.  The Wt= declaration gives you the ability to control the way a subtest adds to the total score.  Since Wts can be negative, you can even get a subtest's result to be subtracted from the scene.

 

How you doing?  This is all pretty straightforward, is it not?  We'll step up the tempo a bit, and get into some more advanced matters.

 

Example A6:

We've used an Res= declaration below, have a look:

*col (c3-c7)

*sub AFF, Res=(A,B,C,D,E), Title=(Beachin)

*pol +--++

Lertap assumes that affective items have five options, with the response codes corresponding to the options being (1,2,3,4,5).  The Res= declaration on a *sub card tells Lertap this, but, when Res=(1,2,3,4,5), there's no need to explicitly say so.  Lertap assumes Res=(1,2,3,4,5) for affective items.  (For cognitive items, Lertap assumes Res=(A,B,C,D).)

 

If this isn't the case, an Res= declaration is required.  In this example, the five affective items have five options, with the response codes for the items being (A,B,C,D,E).  It's as if the items had this sort of format:

 

4)A few Emu Exports a day keep the doctor away.

 

A  Strongly disagree

B  Disagree

C  Undecided

D  Agree

E  Strongly agree

 

If you had no trouble with this example, try the next one.  (Sooner or later we'll stump you.)

 

Example A7:

Here's a big example, getting into the real intricacies of Lertap and item weighting:

*col (c3-c7)

*sub AFF, Res=(5,4,3,2,1), Title=(WAuni)

*pol +--++

Here we're still in a situation where the items have five options, and the response codes are back to (1,2,3,4,5).  However, now a response of 5 is to get a weight of 1, a response of 4 a weight of 2, ..., a response of 1 a weight of 5.

 

It's as if the items looked like the one below, where the Likert scale has been re-ordered so that "strongly agree" is the first option (very common):

 

5)West Australian universities are truly world class.

 

1  Strongly agree

2  Agree

3  Undecided

4  Disagree

5  Strongly disagree

 

Those of us based in West Australia would want this item to be scored in a manner which gives the highest score to the first option.  Ordinarily, the first option gets the lowest weight.  We could use a *pol card to reverse this, and most Lertappers probably would (including us).  However, we said we'd step up the tempo; we've started to wade into deeper water.

 

An understanding of this example gets into the very basics of Lertap's affective item scoring.  The default scoring weight applied to any particular response code corresponds to the response code's ordinal position in the Res= declaration.  If 1, or A, or 5 is the first response code to appear in Res=, it gets a scoring weight of 1 (but let's say 1.00 to emphasize that we're talking about a real number).

 

If Res=(1,2,3,4,5), scoring weights are 1.00, 2.00, 3.00, 4.00, and 5.00.

 

If Res=(A,B,C,D,E), scoring weights are 1.00, 2.00, 3.00, 4.00, and 5.00.

 

If Res=(5,4,3,2,1), scoring weights are 1.00, 2.00, 3.00, 4.00, and 5.00.

 

The default scoring weights have no correspondence to the actual response codes.  They're based entirely on the ordinal position of the response codes in the Res= string.  The entries in the Res= declaration are never read as numbers.  Never -- they're just characters.

 

If Res=(5,6,7,8,9), scoring weights are 1.00, 2.00, 3.00, 4.00, and 5.00.

 

If Res=(1,2,3), scoring weights are 1.00, 2.00, and 3.00.

 

If Res=(w,x,y,z), scoring weights are 1.00, 2.00, 3.00, and 4.00.

 

Example A8:

The stage is set; we now introduce the most powerful card in Lertap's mighty arsenal: the *mws card.

 

Example A2 above looked like this:

*col (c3-c7)

*sub AFF

*pol +--++

We'll knock out the *pol card, and instead go with these CCs cards:

*col (c3-c7)

*sub AFF

*mws c4, 5.00, 4.00, 3.00, 2.00, 1.00

*mws c5, 5.00, 4.00, 3.00, 2.00, 1.00

The *mws cards explicitly apply scoring weights for the two items whose responses are found in columns 4 and 5 of the Data worksheet.  They're saying that the first response code in the Res= declaration is to get a weight of 5.00, while the last response code is to get a weight of 1.00.

 

There isn't an Res= declaration on the *sub card, is there?  No.  In the absence of one, Lertap assumes Res=(1,2,3,4,5).

 

The two *mws cards have reversed the scoring for the second and third items, respectfully located in column 4 (c4) and column 5 (c5) of the Data worksheet.

 

Why aren't there *mws cards for the items in c3, c6, and c7?  There really are; if you could look deep inside the heart of Lertap, you'd see that it's effected these statements:

*mws c3, 1.00, 2.00, 3.00, 4.00, 5.00

*mws c6, 1.00, 2.00, 3.00, 4.00, 5.00

*mws c7, 1.00, 2.00, 3.00, 4.00, 5.00

The weighting pattern seen in these three cards is the default pattern for items with five response codes.  By "default" is meant "not requiring mention; this is what I'll do unless you tell me otherwise".  This being the case, we don't need to say anything.  Let Lertap apply its default weights for each item unless we say different.  Use *mws cards to "say something different".

 

Now, in this case, we have used two *mws cards in place of one *pol card.  That's not real efficiency.  The majority of Lertap users are happy with the *pol card, but there are some advantages in using *mws cards.  One advantage is that there's no ambiguity with *mws cards -- they make it absolutely clear how item responses are to be scored, and explicitly indicate the items affected.

 

About that idea of looking "deep into the heart of Lertap" ... a Lertap workbook's Sub worksheets provide quite a detailed glimpse of exactly how item weights have been set up.  To read more about Sub sheets, just click here.

 

Example A9:

Here's an example which shows off a special use of the *mws card:

*col (c3-c7)

*sub AFF

*mws call, 5.00, 4.00, 3.00, 2.00, 1.00

'*mws call' means we have a multiple-weights specification which is to apply to all the items mentioned on the preceding *col card.  This use of the *mws card often comes into play when there are items such as the following:

 

5)Mt Barker wines are as fine as those of California's Napa Valley.

 

1  Strongly agree

2  Agree

3  Undecided

4  Disagree

5  Strongly disagree

 

The *mws call card will reverse the default scoring weights, equating the first response code, 1, with 5.00 points, and the last response code, 5, with 1.00 points.

 

Astute readers might note that the scoring accomplished by the three CCs cards of this example is the same scoring achieved in example A7.  In A7 we used a special Res= declaration to do the job, whereas now we're using *mws call.

 

Examples A7 and A9 will result in the same item scoring, but Lertap's Stats1f and Stats1b will differ.  One could see the differences by running with the following set of CCs cards:

*col (c3-c7)

*sub AFF, Res=(5,4,3,2,1), Title=(WAuni)

*pol +--++

*col (c3-c7)

*sub AFF

*mws call, 5.00, 4.00, 3.00, 2.00, 1.00

We've combined the two examples, A7 and A9, making two subtests from the same items.  Now the two full-statistics reports, Stats1f and Stats2f can be compared; item and test stats will be the same, but the order in which item response codes are listed will differ.  The same will hold for the Stats1b and Stats2b reports.

 

Example A10:

Item scoring weights can be any real number, positive or negative:

*col (c3-c7)

*sub AFF, Res=(1,2,3,4,5,6,7), Title=(CapesAtt)

*mws call, -3.00, -2.00, -1.00, 0.00, 1.00, 2.00, 3.00

This type of weighting is sometimes seen when semantic differential items are used, as in the following example:

 

8) The weather in the southwest capes region of West Australia is:

 

rotten

__

__

__

__

__

__

__

wunderbar

 

There are seven blanks above.  If someone clicks the fourth blank, the centre one, their response will be entered in the Data sheet as a 4, and the *mws card above will have their response scored as 0.00 points.  Selecting the first blank will see a 1 entered on the Data sheet (because it's the first blank), and a weight of -3.00 points will apply.

 

How many points if someone ticks the sixth blank?  2.00.

 

Example A11:

Enter the *alt card:

*col (c3-c12)

*sub AFF, Res=(1,2,3,4,5,6,7), Title=(CapesAtt)

*alt 55555 77777

To try and explain this set of cards, we ask you to imagine that we've given a survey with ten items.  The first five items are of the Likert style, and use response codes of (1,2,3,4,5).  The last five items employ the semantic differential style, and use response codes of (1,2,3,4,5,6,7).

 

The *alt card tells Lertap this.  It says that the first items use the first five response codes seen in the Res= declaration, while the last five items use seven of the response codes (which of course is all of them).  It's still possible to add a *pol card in cases like this, as shown here:

*col (c3-c12)

*sub AFF, Res=(1,2,3,4,5,6,7), Title=(CapesAtt)

*alt 55555 77777

*pol +--++ +++++

But there's a probable problem here.  Users of semantic differential items often like to have negative weights corresponding to the negative side of their questions, as seen above in Example A10.  The set of four CCs cards above is not right; the five semantic differential items will have scoring weights of 1.00, 2.00, ...., 7.00.  We need some *mws cards:

*col (c3-c12)

*sub AFF, Res=(1,2,3,4,5,6,7), Title=(CapesAtt)

*alt 55555 77777

*pol +--++ +++++

*mws c8,  -3.00, -2.00, -1.00, 0.00, 1.00, 2.00, 3.00

*mws c9,  -3.00, -2.00, -1.00, 0.00, 1.00, 2.00, 3.00

*mws c10, -3.00, -2.00, -1.00, 0.00, 1.00, 2.00, 3.00

*mws c11, -3.00, -2.00, -1.00, 0.00, 1.00, 2.00, 3.00

*mws c12, -3.00, -2.00, -1.00, 0.00, 1.00, 2.00, 3.00

Of course, we could have used *mws cards for all items, and, in this case, we'd then have:

*col (c3-c12)

*sub AFF, Res=(1,2,3,4,5,6,7), Title=(CapesAtt)

*mws c3,   1.00,  2.00,  3.00, 4.00, 5.00, *, *

*mws c4,   5.00,  4.00,  3.00, 2.00, 1.00, *, *

*mws c5,   5.00,  4.00,  3.00, 2.00, 1.00, *, *

*mws c6,   1.00,  2.00,  3.00, 4.00, 5.00, *, *

*mws c7,   1.00,  2.00,  3.00, 4.00, 5.00, *, *

*mws c8,  -3.00, -2.00, -1.00, 0.00, 1.00, 2.00, 3.00

*mws c9,  -3.00, -2.00, -1.00, 0.00, 1.00, 2.00, 3.00

*mws c10, -3.00, -2.00, -1.00, 0.00, 1.00, 2.00, 3.00

*mws c11, -3.00, -2.00, -1.00, 0.00, 1.00, 2.00, 3.00

*mws c12, -3.00, -2.00, -1.00, 0.00, 1.00, 2.00, 3.00

We know you can just about understand these cards, but realise you might want to know what the asterisks are doing on the *mws cards for the items in c3 to c7.  The asterisks tell Lertap that the respective items do not use the last two response codes seen in the Res= declaration.

 

It is possible to use special forms of the *alt and *mws cards when it's required to quickly remove an item from a subtest.  These forms can be very handy in certain circumstances; please refer to the 'Remove an item' topic for examples.

 

In Lertap Version 5.25, it became possible to use the "other=" control word on a *mws card, as exemplified below:

 

*mws call, 1, 2, 3, 4, 5, other=9

 

The line above says that anyone not selecting one of an item's five permitted responses will get a score of 9 points.  The use of other= presents a more flexible way to handle missing affective data than does the MDO option discussed above.

 

For more about using the other= control word, and item weighting, please click here.

 

Example A12:

Just one more example, and this one's simple:

*tst c2=(W)

*col (c3-c7)

*sub AFF, Name=(Beach survey 1), Title=(Beachin)

*pol +--++

This example displays use of the *tst card.  The *tst card is telling Lertap to make a new Lertap workbook, one whose Data worksheet will contain copies of only those Data records which have a "W" in their second column.  We'd probably then set up another Lertap analysis with these cards:

*tst c2=(M)

*col (c3-c7)

*sub AFF, Name=(Beach survey 1), Title=(Beachin)

*pol +--++

Now Lertap is being told to make a new workbook whose Data records will be only those with an "M" in column 2.  We have now set up two new data sets, two new Lertap workbooks, one for the respondents from West Australia, and one for those from Maui.

 

(For a more thorough discussion of using the *tst card, and breaking out subsets of records, see the section titled "A survey with multiple groups" in Chapter 8 of the manual.)

 

Good going; you stuck it out and have come to the end of this topic / page.  Lertap provides extensive support for different item scoring methods, as we've exemplified above.  Of course there's more material in the manual, where three chapters are devoted to a discussion of CCs cards.

 

Still, a few years of experience have shown us that the matter of item scoring in Lertap at times creates questions among users, no matter how much documentation we might provide.  Should you have questions, whiz off a note to us: larry@lertap.com.