Hello R-Help folks. I'm fairly new to R and particularly the graphing functions. The figures I have made look great though and so I want to use it more. I am using bargraph.CI and have made several charts successfully using raw data. I have a figure, however that doesn't lend itself to the functions (calculations) in bargraph.CI because it does not present conventional means and standard errors. Still I would like the figure to have the same look as others I am presenting so I want to use the same plot function Selection ratios and associated standard errors were calculated as per Manley et al (2002) to assess cover type preference for some critters. Selection Ratios were calculated at two scales from a sample of individual animal locations from the population (used points), and an equal number of random locations (available points): 2nd order across the entire area of possible occurrence, and 3rd order within home ranges. I want to make a grouped bar chart, using these results: Cover SR Order SE Water 0.3309 2nd 0.027909 Open Low 0.22865 2nd 0.024847 Treed Low 1.083006 2nd 0.01808 Sparse 1.966667 2nd 0.254225 Deciduous 0.792079 2nd 0.087706 Mixedwood 0.972441 2nd 0.060019 Conifer 2.226475 2nd 0.048635 Disturbance 0.410596 2nd 0.025288 Other 0.125 2nd 0.124985 Water 0.221983 3rd 0.02152 Open Low 0.648352 3rd 0.08363 Treed Low 1.138462 3rd 0.021742 Sparse 0.976744 3rd 0.149728 Deciduous 0.928571 3rd 0.114005 Mixedwood 1.032432 3rd 0.072452 Conifer 1.880137 3rd 0.046046 Disturbance 0.376321 3rd 0.027415 Other 0 3rd 0 Selection Ratio (SR) is calculated using Proportion of used points (oi)/proportion of available points (?i) Standard error for the selection ratio (SE) s.e = (sqrt((?i*(1-?i)/ n*(oi^2)) where n is the total number of points These equations do not lend themselves to making the calculations in R, so I am simply trying to plot the results. Here is my code: ################################################ data <- read.csv("data.csv") #Specify the order that factors appear in (alphabetical is default) data$Cover <- ordered (data$Cover, levels = c("Disturbance", "Deciduous", "Mixedwood", "Conifer", "Sparse", "Treed Low", "Open Low", "Water", "Other")) #define errors sem = function(SE) (SE*1) errors = with(data, tapply(SE, Cover, sem)) errors #define benchmark value benchmark <- 1.0 library(sciplot) library(graphics) #make default barchart to determine x-coordinates for error bars# bargraph.CI(Cover, SR, Order, data = data, lc=FALSE, uc=FALSE) ->bpN.out bpN.out #make barchart so it looks right# par(mar = c(10,8,1,1), oma = c(1,1,1,1)) bargraph.CI(Cover, SR, Order, data = data, ylim=c(0,2.5), ylab = "Selection Ratio", cex.names = 1, cex.axis = 1.5, cex.lab = 1.5, las=2, err.width = 0.03, legend=F, axis.lty=1, cex=1.1,lc=FALSE, uc=FALSE) #Plot benchmark line at SR = 1.0 abline(h=benchmark, lty = "dotdash", lwd=2) #Plot error bars for(i in 1:length(bpN.out)){ arrows(bpN.out$xvals[i],means[i],bpN.out$xvals[i],means[i]+errors[i], angle=90, length=.1) arrows(bpN.out$xvals[i],means[i],bpN.out$xvals[i],means[i]-errors[i], angle=90, length=.1) } ### Two questions: 1. Though I have specified lc=FALSE and uc=FALSE when I call for the plot I get a warning for each of the 18 bars produced, I believe because it cannot calculate a confidence interval. How can I suppress the function within bargrapg.CI that wants to make the calculation? When I call bpN.out I also get the full list of N/A values for the $CI. Wondering if I can prevent this from happening, or if I need to. 2. Instead of plotting error bars I get, "Error in means[i] + errors[i] : non-numeric argument to binary operator". Is there something else I should be doing to get the SE values I have calculated to define the width of the error bars I want to plot? Thanks for your help! Douglas E. B. Reid PhD Boreal Silviculture Reasearch Program Lead Centre for Northern Forest Ecosystem Research (807) 343-4008 [[alternative HTML version deleted]]