Learn R Programming

psych (version 2.4.1)

error.dots: Show a dot.chart with error bars for different groups or variables

Description

Yet one more of the graphical ways of showing data with error bars for different groups. A dot.chart with error bars for different groups or variables is found using from describe, describeBy, statsBy, corCi, corr.test or data from bestScales.

Usage

error.dots(x=NULL, var = NULL, se = NULL, group = NULL, sd = FALSE, effect=NULL,
stats=NULL, head = 12, tail = 12, sort = TRUE, decreasing = TRUE, main = NULL,
 alpha = 0.05, eyes = FALSE,items=FALSE, min.n = NULL, max.labels = 40, labels = NULL,
 label.width=NULL, select=NULL,
 groups = NULL, gdata = NULL, cex =  par("cex"),  pt.cex = cex, pch = 21, gpch = 21, 
 bg = par("bg"), fg=par("fg"), color = par("fg"), gcolor = par("fg"), 
 lcolor = "gray", xlab = NULL, ylab = NULL, xlim = NULL,add=FALSE,order=NULL, ...)

Value

Returns (invisibily) either a describeBy or describe object as well as the order if sorted

Arguments

x

A data frame or matrix of raw data, or the resulting object from describe, describeBy, statsBy, bestScales, corCi, corr.test, or cohen.d

var

The variable to show (particularly if doing describeBy or StatsBy plots).

se

Source of a standard error

group

A grouping variable, if desired. Will group the data on group for one variable (var)

sd

if FALSE, confidence intervals in terms of standard errors, otherwise draw one standard deviation

effect

Should the data be compared to a specified group (with mean set to 0) in effect size units?

stats

A matrix of means and se to use instead of finding them from the data

head

The number of largest values to report

tail

The number of smallest values to report

sort

Sort the groups/variables by value

decreasing

Should they be sorted in increasing or decreasing order (from top to bottom)

main

The caption for the figure

alpha

p value for confidence intervals

eyes

Draw catseyes for error limits

items

If showing results from best scales, show the items for a specified dv

min.n

If using describeBy or statsBy, what should be the minimum sample size to draw

max.labels

Length of labels (truncate after this value)

labels

Specify the labels versus find them from the row names

label.width

Truncate after labels.width

select

Scale the plot for all the variables, but just show the select variables

groups

ignored: to be added eventually

gdata

ignored

cex

The standard meaning of cex for graphics

pt.cex

ignored

pch

Plot character of the mean

gpch

ignored

bg

background color (of the dots showing the means)

fg

foreground color (of the line segments)

color

Color of the text labels

gcolor

ignored

lcolor

ignored until groups are implemented

xlab

Label the x axis, if NULL, the variable name is used

ylab

If NULL, then the group rownames are used

xlim

If NULL, then calculated to show nice values

add

If TRUE, will add the plot to a previous plot (e.g., from dotchart)

order

if sort=TRUE, if order is NULL, sort on values, otherwise, if order is returned from a previous figure, use that order.

...

And any other graphic parameters we have forgotten

Author

William Revelle

Details

Adapted from the dot.chart function to include error bars and to use the output of describe, describeBy, statsBy, fa, bestScales or cohen.d. To speed up multiple plots, the function can work from the output of a previous run. Thus describeBy will be done and the results can be show for multiple variables.

If using the add=TRUE option to add an error.dots plot to a dotplot, note that the order of variables in dot plots goes from last to first (highest y value is actually the last value in a vector.) Also note that the xlim parameter should be set to make sure the plots line up correctly.

References

Used in particular for showing https://sapa-project.org output.

See Also

describe, describeBy, or statsBy as well as error.bars, error.bars.by, statsBy, bestScales or cohen.d

Examples

Run this code
temp <- error.dots(psychTools::bfi[1:25],sort=TRUE, 
xlab="Mean score for the item, sorted by difficulty")
error.dots(psychTools::bfi[1:25],sort=TRUE, order=temp$order,
 add=TRUE, eyes=TRUE) #over plot with eyes

error.dots(psychTools::ability,eyes=TRUE, xlab="Mean score for the item")

cd <- cohen.d(psychTools::bfi[1:26],"gender")
temp <- error.dots(cd, select=c(1:15,21:25),head=12,tail=13,
      main="Cohen d and confidence intervals of BFI by gender")
error.dots(cd,select=c(16:20),head=13,tail=12,col="blue",add=TRUE,fg="red" ,main="")
abline(v=0)
#now show cis for correlations
R <- corCi(attitude,plot=FALSE)
error.dots(R, sort=FALSE)
#the asymmetric case
R <- corr.test(attitude[,1:2],attitude[,3:7])
error.dots(R, sort=FALSE)

Run the code above in your browser using DataLab