Show a dot.chart with error bars for different groups or variables
Show a dot.chart with error bars for different groups or variables
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.
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,...)
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
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.
Returns
Returns (invisibily) either a describeBy or describe object as well as the order if sorted
describe, describeBy, or statsBy as well as error.bars, error.bars.by, statsBy, bestScales or cohen.d
Examples
temp <- error.dots(bfi[1:25],sort=TRUE,xlab="Mean score for the item, sorted by difficulty")error.dots(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(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 correlationsR <- corCi(attitude,plot=FALSE)error.dots(R, sort=FALSE)#the asymmetric caseR <- corr.test(attitude[,1:2],attitude[,3:7])error.dots(R, sort=FALSE)