Hi all,

I have been looking for means of add a contour around some points in a
scatterplot as a means of representing the center of density for of the
data. I'm imagining something like a 95% confidence estimate drawn around
the data.

So far I have found some code for drawing polygons around the data. These
look nice, but in some cases the polygons are strongly influenced by
outlying points. Does anyone have a thought on how to draw a contour which
is more along the lines of a 95% confidence space?

I have provided a working example below to illustrate the drawing of the
polygons. As I said I would rather have three "ovals"/95% contours drawn
around the points by "level" to capture the different density distributions
without the visualization being heavily influenced by outliers.

I have looked into the code provided here from Hadley
https://groups.google.com/forum/?fromgroups=#!topic/ggplot2/85q4SQ9q3V8
using the mvtnorm package and the dmvnorm function, but haven't been able
to get it work for my data example. The calculated densities are always
zero (at this step of Hadley's code: dgrid$dens <-
dmvnorm(as.matrix(dgrid), ex_mu, ex_sigma)   )

I appreciate any assistance.

Thanks,
Nate

x<-c(seq(0.15,0.4,length.out=30),seq(0.2,0.6,length.out=30),
seq(0.4,0.6,length.out=30))
y<-c(0.55,x[1:29]+0.2*rnorm(29,0.4,0.3),x[31:60]*rnorm(30,0.3,0.1),x[61:90]*rnorm(30,0.4,0.25))
data<-data.frame(level=c(rep(1, 30),rep(2,30), rep(3,30)), x=x,y=y)


find_hull <- function(data) data[chull(data$x, data$y), ]
hulls <- ddply(data, .(level), find_hull)

fig1 <- ggplot(data=data, aes(x, y, colour=(factor(level)),
fill=level))+geom_point()
fig1 <- fig1 + geom_polygon(data=hulls, alpha=.2)
fig1

        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to