[R] Concave hull
David Winsemius
dwinsemius at comcast.net
Thu Nov 26 02:13:20 CET 2009
On Nov 25, 2009, at 7:51 PM, David Winsemius wrote:
> Drats; Forgot the plot:
>
> xx <- runif(100, -1, 1)
> yy <- abs(xx)+rnorm(100,0,.2); plot(xx,yy, xlim=c( min(xx)-sd(xx),
> max(xx)+sd(xx)), ylim =c( min(yy)-sd(yy), max(yy)+sd(yy)))
>
> dens2 <- kde2d(xx, yy, lims=c(min(xx)-sd(xx), max(xx)+sd(xx),
> min(yy)-sd(yy), max(yy)+sd(yy) ) )
> contour(dens2, add=TRUE)
>> # You can pick a single contour if you like:
>>
> contour(dens2, level=0.05, col="red", add=TRUE)
> contour(dens2, level=0.10, col="blue", add=TRUE)
And as a further note you can drop the bandwidth and lower the density
level to get a tighter fit:
xx <- runif(10000, -1, 1)
yy <- abs(xx)+rnorm(10000 ,0,.2); plot(xx,yy, xlim=c( min(xx)-
sd(xx), max(xx)+sd(xx)), ylim =c( min(yy)-sd(yy), max(yy)+sd(yy)),
cex=.2)
dens2 <- kde2d(xx, yy, lims=c(min(xx)-sd(xx), max(xx)+sd(xx), min(yy)-
sd(yy), max(yy)+sd(yy) ) , h=c(bandwidth.nrd(xx)/4, bandwidth.nrd(xx)/
4) )
contour(dens2, add=TRUE)
# You can pick a single contour if you like:
contour(dens2, level=0.05, col="red", add=TRUE)
contour(dens2, level=0.10, col="blue", add=TRUE)
contour(dens2, level=0.005, col="red", add=TRUE)
(More bat-like.)
--
David.
>
>
>
> On Nov 25, 2009, at 7:46 PM, David Winsemius wrote:
>
>> This is not a true convave hull, but a 2D density is something
>> similar and perhaps more "statistical":
>>
>> library(MASS)
>> xx <- runif(100, 0, 1)
>> xx <- runif(100, -1, 1)
>> yy <- abs(xx)+rnorm(100,0,.2)
>> dens2 <- kde2d(xx, yy, lims=c(min(xx)-sd(xx), max(xx)+sd(xx),
>> min(yy)-sd(yy), max(yy)+sd(yy) ) )
>> contour(dens2, add=TRUE)
>>
>> # You can pick a single contour if you like:
>>
>> contour(dens2, level=0.05, col="red", add=TRUE)
>> contour(dens2, level=0.10, col="blue", add=TRUE)
>>
>>
>> Happy Valentine's
>> --
>> David
>>
>> On Nov 25, 2009, at 11:37 AM, Corrado wrote:
>>
>>> Dear friends,
>>>
>>> Do you know how to calculate the CONCAVE hull of a set of points (2-
>>> dimensional or n-dimensional)? is that possible in R? (With a
>>> "smoothing"
>>> parameter of course).
>>>
>>> Best,
>>> --
>>> Corrado Topi
>>>
>>> Global Climate Change & Biodiversity Indicators
>>> Area 18,Department of Biology
>>> University of York, York, YO10 5YW, UK
>>> Phone: + 44 (0) 1904 328645, E-mail: ct529 at york.ac.uk
>>>
>>> ______________________________________________
>>> R-help at 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.
>>
>> David Winsemius, MD
>> Heritage Laboratories
>> West Hartford, CT
>>
>> ______________________________________________
>> R-help at 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.
>
> David Winsemius, MD
> Heritage Laboratories
> West Hartford, CT
>
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
More information about the R-help
mailing list