R: Region Plots for IRT Models

regionplot {psychotools} | R Documentation

## Region Plots for IRT Models

### Description

Base graphics plotting function for region plot visualization of IRT models.

### Usage

      regionplot(object, parg = list(type = NULL, ref = NULL, alias = TRUE),
        names = TRUE, main = NULL, xlab = "", ylab = "Latent trait",
        ylim = NULL, off = 0.1, col = NULL, linecol = 2,
        srt = 45, adj = c(1.1, 1.1), axes = TRUE, ...)

### Arguments

`object` | a fitted model object of class `"raschmodel"`, `"rsmodel"` or `"pcmodel"`.
`parg` | list of arguments passed over to internal calls of `threshpar`. See the help page of `threshpar` for more details.
`names` | logical or character. If `TRUE`, the names of the items are displayed on the x-axis. If `FALSE`, numbers of items are shown. Alternatively a character vector of the same length as the number of items can be supplied.
`main` | character, specifying the overall title of the plot.
`xlab, ylab` | character, specifying the x and y axis labels.
`ylim` | numeric, specifying the y axis limits.
`off` | numeric, the distance (in scale units) between two item rectangles.
`col` | character, list or function, specifying the colors of the regions. Either a single vector with k color names, a list with m elements and each element is a character vector with color names for the regions of item j or a color-generating function like, e.g., `gray.colors`, which is then directly used to create the color names.
`linecol` | color for lines indicating “hidden” categories.
`srt, adj` | numeric. Angle (`srt`) and adjustment (`adj`) in case names (rather than numbers) are used as x-axis labels. These are passed to `text`.
`axes` | logical. Should axes be drawn?
`...` | further arguments passed to `plot`

### Details

The region plot visualization implemented here was already used by Van der Linden and Hambleton (1997) in the context of IRT and has been called "effect plots" by Fox & Hong (2009). In our implementation, these plots show, dependent on the chosen type of threshold parameters, different regions for the categories of an item over the theta axis. If `type` is set to `"modus"`, the cutpoints correspond to the threshold parameters and the rectangles mark the theta regions where a category is the single most probable category chosen with a certain value of the latent trait. If `type` is set to `"median"`, the cutpoints correspond to the point on the theta axis, where the cumulative probability to score in category k or higher is 0.5, i.e., P(X_{ij} ≥q k) = 0.5. If set to `"mean"`, the cutpoints correspond to the point on the theta axis where the expected score E(X_{ij}) is exactly between two categories, e.g., 0.5 for a dichotomous item.

If `type` is set to `"mode"` and there are unordered threshold parameters, the location of the original threshold parameters are indicated by red dashed lines.

### References

Fox J, Hong J (2009). Effect Displays in R for Multinomial and Proportional-Odds Logit Models: Extensions to the effects Package. Journal of Statistical Software, 32(1), 1–24. doi: 10.18637/jss.v032.i01

Van der Linden WJ, Hambleton RK (1997). Handbook of Modern Item Response Theory. Springer-Verlag, New York.

### See Also

`curveplot`, `profileplot`, `infoplot`, `piplot`

### Examples

    ## Load Verbal aggression data
    data("VerbalAggression", package = "psychotools")

    ## Fit a Partial credit model to the items of the
    ##  first other-to-blame situation: 'A bus fails to stop for me'
    pcm <- pcmodel(VerbalAggression$resp[, 1:6])

    ## A region plot with modus as cutpoint and custom labels.
    lab <- paste(rep(c("Curse", "Scold", "Shout"), each = 2),
                 rep(c("Want", "Do"), 3 ), sep = "-")
    plot(pcm, type = "regions", names = lab)

    ## Compare the cutpoints (with ylim specified manually)
    opar <- par(no.readonly = TRUE)
    ylim <- c(-2, 2)
    layout(matrix(1:3, ncol = 1))
    plot(pcm, type = "regions", parg = list(type = "mode"),
      main = "Modus as Cutpoint", ylim = ylim)
    plot(pcm, type = "regions", parg = list(type = "median"),
      main = "Median as Cutpoint", ylim = ylim)
    plot(pcm, type = "regions", parg = list(type = "mean"),
      main = "Mean as Cutpoint", ylim = ylim)
    par(opar)

    ## Partial credit model for full VerbalAggression data set
    pcm_va <- pcmodel(VerbalAggression$resp)
    plot(pcm_va, type = "regions")

[Package psychotools version 0.4-2 Index]