Function to create subscales based on a design matrix

Description

This convenience function is provided to facilitate extracting subscales from a single set of item responses.

Usage

1
2
subscales(items, scales, scale.names = NA, score.items = FALSE,
          check.reliability = FALSE, key=NA)

Arguments

items

The item response (scored or not)

scales

A design matrix, with items represented in rows and separate subscales represented in columns. An item may appear in more than one subscale.

scale.names

Optional vector of names for the subscales

score.items

If responses are not scored, they may be scored using score.items=TRUE (key must be provided)

check.reliability

If check.reliability=TRUE, the reliability for each subscale will be calculted

key

Optional key, required only if score.scales=TRUE.

Details

This function provides an easy way to create new datasets from a single set of item responses. This function is also a front end for score and reliability, enabling the item responses to be partitioned into separate scales, scored, and reliability analyses performed using this one function.

Value

A list is returned. Results for each subscale (i.e., column in the scales matrix) are provided as sparate objects in that list.

score

Each examinee's score on the associated subscale

reliablity

Reliability results (if requested) for the associated subscale

scored

The scored item responses (if required) for each respondent for the associated subscale

Author(s)

John Willse, Zhan Shu

See Also

reliability, score

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Example data included with package
data(CTTdata)
data(CTTkey)

# design matrix
q <- matrix(c(1,0,
              1,0,
              1,0,
              1,0,
              1,0,
              1,0,
              1,0,
              1,0,
              1,0,
              1,1,
              0,1,
              0,1,
              0,1,
              0,1,
              0,1,
              0,1,
              0,1,
              0,1,
              0,1,
              0,1), ncol=2, byrow=TRUE)
subscales(CTTdata,q,c("T1","T2"),TRUE,TRUE,CTTkey)