New release – WrightMap 1.2

[This article was first published on R Snippets for IRT, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

A (too long in the making) new version of WrightMap is now available on CRAN (Actually, version 1.2.1 is already up).

This new version includes a lot of features that have long been requested, including cut-point lines, alternative item displays (classical Wright Map look, histogram view), and differential item functioning plots among others.

Wright Map - Simple ExampleWe have updated the package tutorials on our website to reflect the changes to this version, and we will be publishing additional posts showing the new features.

We hope these changes can be of use to you, and we look forward to hearing your feedback!

Change log for this version:

Major changes:

wrightMap split into data handling and plotting, each of which is further split into person & item side. The data handling functions are further split by filetype and the plotting functions are split by plot types. For data handling, this is meant to make it possible to have item and person data of different filetypes. For plotting, this is meant to make the plotting function more flexible and make it easier to add different plot styles. Details:

  • wrightMap.default, wrightMap.CQmodel, wrightMap.character are now removed. There is only wrightMap.R, which calls the appropriate data handling and plotting functions

  • helper functions for data handling

  • parameter person.side accepts person plot functions personHist (default) and personDens

  • parameter item.side accepts item plot functions itemModern (default), itemClassic, and itemHist

Wright Map - Double Histogram Wright Map

API changes

  • the “type” parameter in wrightMap is now called “item.type” to avoid collision with the “type” parameter in the “plot” function.

  • For the same reason, the “type” parameter in fitgraph is now called “fit.type”

  • the “use.hist” parameter in wrightMap is deprecated. Create a histogram with person.side = personHist (default) and density with person.side = personDens

  • fitgraph and make.thresholds now explicitly include a version for numeric and matrix respectively. This should fix namespace problems for users who prefer to include external functions with :: notation.

New functions:

  • plotCI
  • difplot
  • ppPlot


New features:

  • now possible to add points and ranges to person side

  • can easily add cutpoints on item side

  • added “classic” and “hist” item map

  • “throld” parameters added to make.thresholds and wrightMap, allowing for the calculation of thresholds other than .5

  • “alpha” and “c.params” added to make.thresholds and wrightMap, supporting the 2PL and 3PL models

  • label.items.cex and dim.lab.cex added to wrightMap to control label sizes

  • support for ConQuest4 added

  • “equation” added to CQmodel and wrightMap.CQmodel, to handle CQ output without a summary of estimation table

  • it is now possible to plot the person and item sides separately


  • wrightMap now remembers your original graphical parameters and restores them after drawing the map

  • fitgraph no longer calls a new window

  • better handling of generics


  • Fixes to CQmodel on reading the #IO variance errors and included fix for the var/covar matrix on CQ3

  • Fixed a bug where thr.lab.pos couldn’t take a matrix

  • Fixed a bug where fitgraph.CQmodel assumed there was always a parameter called “item” in your table

  • Fixed a bug where CQmodel assumed there were always an error column in the RMP tables

  • wrightMap will no longer crash if the p.est parameter is null

Other notes:

  • Removed some of the runtime messages

To leave a comment for the author, please follow the link and comment on their blog: R Snippets for IRT. offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.