Wright Map person sides
Draw the person side of a Wright Map in a variety of styles. Intended to be primarily called by wrightMap, but also available for use on their own.
personHist(thetas, yRange = NULL, breaks = "FD", dim.lab.cex = 0.6, dim.lab.side = 3 , dim.lab.adj = 0.5, dim.names = NULL, dim.color = "white", person.points = NULL , person.range = NULL, p.point.col = "gray45", p.range.col = "gray75" ,axis.persons = "Respondents", oma = c(0, 5, 0, 5), axis.logits = "Logits" , show.axis.logits = TRUE,...) personDens(thetas, yRange = NULL, dim.lab.cex = 0.6, dim.lab.side = 3, dim.lab.adj = 0.5 ,dim.names = NULL,dim.color = "black",person.points = NULL, person.range = NULL , p.point.col = "black", p.range.col = "gray70",oma = c(0, 5, 0, 5) , axis.logits = "Logits",show.axis.logits = TRUE, axis.persons = "Respondents",...)
thetas |
vector or matrix of person parameters. If a matrix, persons should be the rows and dimensions the columns. |
yRange |
vector with 2 elements specifying the lower and upper limits of the plot's y-axis. |
dim.lab.cex |
An integer specifying the amount the dimension labels should be magnified relative to the default. |
dim.lab.side |
an integer specifying in which side to plot the dimension names. Values of 1, 2, 3 (default) and 4, respectively indicate positions below, to the left of, above and to the right of the person distributions. |
dim.lab.adj |
a numerical value adjusting the position of the dimension names. |
dim.names |
a string or a vector of strings containing the names of each one of the dimensions. |
dim.color |
a numerical value or vector indicating the colors to be used for representing each dimension. |
person.points |
a vector of individual values to highlight |
person.range |
Can be a pair of values, an even-lengthed vector, or a matrix with two rows. Values indicate the start and endpoints of ranges to highlight. If a matrix, the first row should be lower bounds and the second row upper bounds of the ranges. If a vector, the values should alternate: (lower1,upper1,lower2,upper2,...). |
p.point.col |
a string or vector of strings indicating the color to use for the highlighted points |
p.range.col |
a string or vector of strings indicating the color to use for the highlighted ranges. |
axis.persons |
title of the y-axis on the left side. |
oma |
values to use for the |
show.axis.logits |
logical indicating whether to show the logit axis |
axis.logits |
title of the y-axis on the right side |
... |
Not used. |
For personHist:
breaks |
See |
draw a person map on its own
compare two person maps in a single figure
draw a Wright Map with the item side on the left and the person side on the right
etc.
The personHist style, the default, draws the person distribution as a histogram, and is equivalent to the use.hist = TRUE option from previous versions of wrightMap. The personDens style draws a density plot.
Rebecca Freund and David Torres Irribarra
# Creating a Wright Map with item side on the left
multi.proficiency <- data.frame(
d1 = rnorm(1000, mean = -0.5, sd = 1),
d2 = rnorm(1000, mean = 0.0, sd = 1),
d3 = rnorm(1000, mean = +0.5, sd = 1))
items.loc <- sort( rnorm( 20))
thresholds <- data.frame(
l1 = items.loc - 0.5 ,
l2 = items.loc - 0.25,
l3 = items.loc + 0.25,
l4 = items.loc + 0.5)
# split.screen: Set up a split screen with the left side 80 percent of the screen
# yRange = c(-3,4): Set the yRange to be the same for both sides
# axis.logits.side = "L": Move the item logit axis to the left
# oma = c(0,0,0,2): Adjust the spacing between the graphs
# mtext("Wright Map", side = 3, font = 2, line = 1): add a title
# screen(2): Start drawing on the second screen
split.screen(figs = matrix(c(0,.8,0,1,.8,1,0,1),ncol = 4, byrow = TRUE))
itemModern(thresholds, yRange = c(-3,4), show.axis.logits = "L", oma = c(0,0,0,2))
mtext("Wright Map", side = 3, font = 2, line = 1)
screen(2)
personHist(multi.proficiency, axis.persons = "",yRange = c(-3,4)
, axis.logits = "Persons", show.axis.logits = FALSE)
## Creating a multidimensional Wright Map with each dimension separate
## Mock results
d1 = rnorm(1000, mean = -0.5, sd = 1)
d2 = rnorm(1000, mean = 0.0, sd = 1)
dim1.diff <- rnorm(5)
dim2.diff <- rnorm(5)
split.screen(figs = matrix(c(0,.1,0,1,
.12,.6,0,1,
.5,.6,0,1,
.5,1,0,1),ncol = 4,byrow = TRUE))
personDens(d1,yRange = c(-3,3),show.axis.logits = FALSE
, axis.logits = "")
screen(2)
itemModern(dim1.diff,yRange = c(-3,3),show.axis.logits = FALSE)
mtext("Wright Map", side = 3, font = 2, line = 1)
screen(3)
personDens(d2,yRange = c(-3,3),show.axis.logits = FALSE
, axis.logits = ""
, axis.persons = "",dim.names = "Dim2")
screen(4)
itemModern(dim2.diff,yRange = c(-3,3),show.axis.logits = FALSE
, label.items = paste("Item",6:10))Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.