Поэтому я пытаюсь взять немного кода, который я использую для интерактивного выбора и идентификации.Он работает вне функции, но выдает ошибку, когда я пытаюсь запустить его как отдельную функцию.
my.identify <- function(data)
{
# allows you to create a polygon by clicking on map
region = locator(type = "o")
n = length(region$x)
p = Polygon(cbind(region$x, region$y)[c(1:n,1),])
ps = Polygons(list(p), ID="region")
sps = SpatialPolygons(list(ps))
# returns all data that overlaps new polygon sps
a=data[!is.na(overlay(data,sps)),] # here is the problem
return(a)
}
По сути, он не хочет запускать функцию наложения (функция пакета sp ).Сообщение об ошибке в том, что я не могу запустить унаследованные функции ??
Ошибка в функции (классы, fdef, mtable): невозможно найти унаследованный метод для функции "overlay", для сигнатуры "matrix", "SpatialPolygons"
Есть идеи???Я новичок в написании функций ... так что, надеюсь, это будет легко.