likertWeighted {HH} | R Documentation |
Special case wrapper for likert() when multiple columns are to have the same bar thicknesses. Uses formula with one or two conditioning variables.
Description
Special case wrapper for likert() when multiple columns are to have the same bar thicknesses. Uses formula with one or two conditioning variables.
Usage
likertWeighted(x, ...) ## generic
## S3 method for class 'array'
likertWeighted(x, ..., C = 1, Q = 3, R = 2) ## array
## Default S3 method:
likertWeighted(x, ...) ## matrix, table, data.frame
## S3 method for class 'formula'
likertWeighted(x, data,
xlim=c(-100, 100),
scales=list(y=list(relation="free", cex=1.3),
x=list(at=seq(-100, 100, 50),
labels=abs(seq(-100, 100, 50)), cex=.5)),
box.ratio=1000,
as.percent=TRUE, rightAxis=FALSE,
between=list(x=1, y=0),
strip=FALSE, strip.left=FALSE,
par.settings=list(clip=list(panel="off")),
h.resizePanels=1,
auto.key.title=NULL,
auto.key.columns=dim(data)[[2]] -
NumberOfConditioningVariables(formula), ## excludes conditioning variables
auto.key.cex=1.2,
auto.key.cex.title=1.2,
auto.key.lines.title=3,
ylab=NULL,
axis.top=dimnames(result)[[1]], ## Questions
axis.top.row=1,
...)
Arguments
x |
For the default method, a matrix or data.frame or two-dimensional table. For the array method, a two- or-three-dimensional array. For the formula method, a formula. |
formula |
Standard trellis formula, usually |
data |
A |
C , R , Q |
Integers, one each of 1,2,3; positions of the three dimensions. Used in
|
xlim , between , strip , strip.left , par.settings , ylab |
See |
scales |
See |
box.ratio |
See |
as.percent , rightAxis , ... , h.resizePanels |
First see the formula method for |
auto.key.title , auto.key.columns , auto.key.cex , auto.key.cex.title , auto.key.lines.title |
Values which will be used in |
axis.top |
Label to be placed at |
axis.top.row |
Which rows will have |
Value
A likert
plot as a "trellis"
object.
Author(s)
Richard M. Heiberger <rmh@temple.edu>
See Also
Examples
## simplest 2D example
tmp <- matrix(1:12, 3, 4,
dimnames=list(c("A","B","C"),
c(letters[4:7]))) * c(1,2,3)
tmp
rowSums(tmp)
likertWeighted(tmp,
h.resizePanels=rowSums(tmp),
main="likertWeighted, simplest example,
defaults to Percent,
specified row thicknesses")
## Same example with explicit use of the formula method
## (default method does this for you).
tmpdd <- data.frame(tmp, row=row.names(tmp))
tmpdd
likertWeighted(~ . | row, tmpdd, ## tmpdd
h.resizePanels=rowSums(tmp), ## tmp
main="likertWeighted,
same example but with explicit formula method")
## show subgroups
likertWeighted(tmp,
h.resizePanels=rowSums(tmp),
between=list(y=c(0, 1)),
ylab=c("C in its own group","A and B together"),
main="between=list(y=c(0,1) ## standard lattice between argument
Adjacent A and B with y.between = 0 are in the same bordered group.
Adjacent B and C with y.between != 0 are in different bordered groups.")
## simplest 3D example
## This is natural when multiple questions are asked of the
## same set of respondents in a survey.
## This example simulates that situation.
##
tmp3D <- abind::abind(h=tmp, i=tmp, j=tmp, along=3)
tmp3D[1,,"i"] <- tmp3D[1,c(4,2,1,3),"h"]
tmp3D[2,,"i"] <- tmp3D[2,c(2,4,3,1),"h"]
tmp3D[3,,"i"] <- tmp3D[3,c(4,1,2,3),"h"]
tmp3D[1,,"j"] <- tmp3D[1,c(4,3,2,1),"h"]
tmp3D[2,,"j"] <- tmp3D[2,c(1,4,3,2),"h"]
tmp3D[3,,"j"] <- tmp3D[3,c(2,4,3,1),"h"]
## now
rowSums(tmp3D[,,1]) == rowSums(tmp3D[,,2])
rowSums(tmp3D[,,1]) == rowSums(tmp3D[,,3])
likertWeighted(tmp3D, h.resizePanels=rowSums(tmp3D[,,1]),
main="simplest 3D example, array method")
likertWeighted(tmp3D, h.resizePanels=rowSums(tmp3D[,,1]),
between=list(x=1, y=c(0, 1)),
main="simplest 3D example, array method, with subgroups")
## Same example with explicit use of the formula method
## (array method does this for you).
tmp3Ddf <- toCQxR(tmp3D)
dimnames(tmp3Ddf)
tmp3Ddf
likertWeighted(~ . | group + row, tmp3Ddf, h.resizePanels=rowSums(tmp3D[,,1]),
main="simplest 3D example, formula method")