Wygładzanie danych „przestrzennych”

Mam 2 zmiennex iy które są współrzędnymi kartezjańskimi w [0,1] iz jest wartością zmiennej (ciągłej) o tych współrzędnych. Thez wektor ma kilka ważnych wartości odstających

x<-sample(seq(0,1,0.001), replace=F)
y<-sample(seq(0,1,0.001), replace=F)
z<-runif(1001,min=0,max=1)
z[100]<-8;z[400]<-16;z[800]<-4

Te wartości odstające chciałbym podkreślić, przedstawiając te dane wfilled.contour

Użyłem do tej pory

library(akima)
a<-interp(x,y,z)
filled.contour(a$x,a$y,a$z)

Ale nie jestem zadowolony z tej interpolacji liniowej. Na przykład (wartości odstające nie są wyświetlane poprawnie).

Myślę, że to, czego potrzebuję, to rodzaj „przestrzennego” wygładzania najbliższego sąsiada (na podstawie lokalizacji x, y). Czy ktoś może pomóc lub wskazać dane / przykłady / pakiety / kod, które mogłyby mi pomóc? Wolałbym rozwiązanie bazowe R, ale jeśli ggplot2 lub krata mogą wykonać moją pracę, byłoby dobrze. Wszelkie inne pomysły / propozycje lepszej wizualizacji byłyby również mile widziane.

questionAnswers(2)

yourAnswerToTheQuestion