построить окружность / выпуклый корпус вокруг заданного процента точек
я имею
x=rnorm(100)
y=rnorm(100)
plot(x,y)
abline(h=0); abline(v=0)
Из точки(0,0)
и, выходя наружу, я хотел бы нарисовать выпуклый корпус контура / круга / эллипса / от руки, который охватывает любой данный процент точек.
Есть ли какая-либо функция или пакет, который может автоматизировать это? До сих пор я пробовал следующее, но я могу получить только круг с некоторой экстраполяцией и приближением.
Я пробовал это до сих пор:
#calculate radius
r<- sqrt(x^2+y^2)
df<-data.frame(radius=seq(0,3,0.1), percentage=NA)
#get the percentage of points that have a smaller radius than i
k<-1
for (i in seq(0,3,0.1)){
df$percentage[k] <- sum(r<i)/length(r)
k<-k+1
}
#extrapolation function
prox.function<- approxfun(df$percentage, df$radius)
#get the radius of the circle that encloses about 50% of
prox.function(.50)
#draw the circle
library(plotrix)
draw.circle(0,0,prox.function(.50))