Сглаживание «пространственных» данных

У меня есть 2 переменныеx а такжеy которые являются декартовыми координатами в [0,1], иz является значением (непрерывной) переменной в этих координатах.z вектор имеет несколько важных выбросов

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

Эти выбросы я хотел бы подчеркнуть при представлении этих данных вfilled.contour

Я использовал до сих пор

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

Но я не доволен этой линейной интерполяцией. Например (выбросы не отображаются правильно).

Я думаю, что мне нужно какое-то "пространственное" сглаживание z ближайшего соседа (на основе местоположения x, y). Может ли кто-нибудь помочь или точно определить данные / примеры / пакеты / код, которые могут мне помочь? Я бы предпочел решение с базовым R, но если бы ggplot2 или lattice могли выполнять мою работу, это было бы хорошо. Любая другая идея / предложение лучшей визуализации будет также приветствоваться.

Ответы на вопрос(2)

Ваш ответ на вопрос