Error.bar R Function
Contents |
Diet & Nutrition (28) Education (1) Evolution (35) Human Ecology (75) Infectious Disease (66) LaTeX (5) Primates (9) R (12) science
Error Bar In R
(17) Social Network Analysis (17) Statistics (16) Teaching (10) Uncategorized barplot with error bars ggplot2 (28) Meta Log in Entries RSS Comments RSS WordPress.org ← Latest Swine Flu Epidemic Curve
Barplot With Error Bars R
for the United States Stanford Workshop in Biodemography → Plotting Error Bars in R August 24th, 2009 · 52 Comments · R One common frustration that errbar r I have heard expressed about R is that there is no automatic way to plot error bars (whiskers really) on bar plots. I just encountered this issue revising a paper for submission and figured I'd share my code. The following simple function will plot reasonable error bars on a bar plot. PLAIN scatter plot with error bars in r TEXT R: error.bar <- function(x, y, upper, lower=upper, length=0.1,...){ if(length(x) != length(y) | length(y) !=length(lower) | length(lower) != length(upper)) stop("vectors must be same length") arrows(x,y+upper, x, y-lower, angle=90, code=3, length=length, ...) } Now let's use it. First, I'll create 5 means drawn from a Gaussian random variable with unit mean and variance. I want to point out another mild annoyance with the way that R handles bar plots, and how to fix it. By default, barplot() suppresses the X-axis. Not sure why. If you want the axis to show up with the same line style as the Y-axis, include the argument axis.lty=1, as below. By creating an object to hold your bar plot, you capture the midpoints of the bars along the abscissa that can later be used to plot the error bars. PLAIN TEXT R: y <- rnorm(500, mean=1) y <- matrix(y,100,5) y.means <- apply(y,2,mean) y.sd <- apply(y,2,sd) barx <- barplot(y.means, names.arg=1:5,ylim=c&
error bars Two within-subjects variables Note about normed means Helper functions Problem
Barplot With Error Bars Matlab
You want to plot means and error bars for r arrows a dataset. Solution To make graphs with ggplot2, the data must be in a
Summaryse R
data frame, and in “long” (as opposed to wide) format. If your data needs to be restructured, see this page for more http://monkeysuncle.stanford.edu/?p=485 information. Sample data The examples below will the ToothGrowth dataset. Note that dose is a numeric column here; in some situations it may be useful to convert it to a factor. tg <- ToothGrowth head(tg) http://cookbook-r.com/Graphs/Plotting_means_and_error_bars_(ggplot2)/ #> len supp dose #> 1 4.2 VC 0.5 #> 2 11.5 VC 0.5 #> 3 7.3 VC 0.5 #> 4 5.8 VC 0.5 #> 5 6.4 VC 0.5 #> 6 10.0 VC 0.5 library(ggplot2) First, it is necessary to summarize the data. This can be done in a number of ways, as described on this page. In this case, we’ll use the summarySE() function defined on that page, and also at the bottom of this page. (The code for the summarySE function must be entered before it is called here). # summarySE provides the standard deviation, standard error of the mean, and a (default 95%) confidence interval tgc <- summarySE(tg, measurevar= here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this http://stackoverflow.com/questions/15063287/add-error-bars-to-show-standard-deviation-on-a-plot-in-r site About Us Learn more about Stack Overflow the company Business Learn more about hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x http://rstatistics.tumblr.com/post/470327991/make-a-barplot-with-errorbars-now-this-is-a Dismiss Join the Stack Overflow Community Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up Add error error bar bars to show standard deviation on a plot in R up vote 23 down vote favorite 10 For each X-value I calculated the average Y-value and the standard deviation (sd) of each Y-value x = 1:5 y = c(1.1, 1.5, 2.9, 3.8, 5.2) sd = c(0.1, 0.3, 0.2, 0.2, 0.4) plot (x, y) How can I use the standard deviation to add error bars to with error bars each datapoint of my plot? r plot statistics standard-deviation share|improve this question edited Oct 16 '14 at 3:43 Craig Finch 11417 asked Feb 25 '13 at 8:59 John Garreth 4572413 also see plotrix::plotCI –Ben Bolker Feb 25 '13 at 15:13 add a comment| 5 Answers 5 active oldest votes up vote 16 down vote accepted A Problem with csgillespie solution appears, when You have an logarithmic X axis. The you will have a different length of the small bars on the right an the left side (the epsilon follows the x-values). You should better use the errbar function from the Hmisc package: d = data.frame( x = c(1:5) , y = c(1.1, 1.5, 2.9, 3.8, 5.2) , sd = c(0.2, 0.3, 0.2, 0.0, 0.4) ) ##install.packages("Hmisc", dependencies=T) library("Hmisc") # add error bars (without adjusting yrange) plot(d$x, d$y, type="n") with ( data = d , expr = errbar(x, y, y+sd, y-sd, add=T, pch=1, cap=.1) ) # new plot (adjusts Yrange automatically) with ( data = d , expr = errbar(x, y, y+sd, y-sd, add=F, pch=1, cap=.015, log="x") ) share|improve this answer answered Sep 6 '13 at 14:21 R_User 3,19984682 ad a barplot with errorbars Now this is a tricky one: I wrote a script to plot a barplot with errorbars. I used the following script: #barplot where x is the independent on the x-axis, y is the #dependent on the y-axis and z is the independent given by #different colored bars anova.plot<-function(x, y, z, ylab="y", xlab="x", ylim=c(0, max(xx)+max(yy)), length=0.05){ #height of the bars xx<-tapply(y,list(z,x),mean) #standard deviation yy<-tapply(y,list(z,x),sd) #number of replicates zz<-tapply(y,list(z,x),length) #standard error er<-yy/sqrt(zz) #number of colors for bars w<-length(levels(z)) #simple barplot without the errorbars barx<-barplot(xx, col=c(1:w), beside=T, ylab=ylab, xlab=xlab, ylim=ylim,xpd=FALSE) #box around the plot box() #error bars arrows(barx,xx+er, barx, xx, angle=90, code=1, length=length) #legend (after making the plot, indicate where the legend has #to come with the mouse) legend(locator(1),c(levels(z)),fill=c(1:w),bty="n",cex=0.8) } If you have set your palette to: palette(c("grey25","grey50","grey75","white")) you get a plot like the one above if you use: anova.plot(x,y,z) (6 years ago) archive : rss : theme "2001" by 54mf : powered by Tumblr