Вычислить вариограмму растровых данных с NA в R

Резюме:У меня есть набор растровых данных, который содержит значения NA, и я хочу рассчитать его вариограмму, игнорируя NA. Как я могу это сделать?

У меня есть изображение, которое я загрузил в R с помощью функции readGDALи сохранил как im. Чтобы сделать это воспроизводимым, результат dputна изображении доступен по адресу https://gist.github.com/2780792. Я пытаюсь отобразить вариограмму этих данных и борюсь. Я пройдусь по тому, что пробовал до сих пор:

Я попробовал пакет gstat, но не смог получить работающий вызов функции. Я понял, что в основном мне нужны сами значения данных ( im@data$band1) и координаты ( координаты(im)). Я пробовал различные команды, такие как:

> variogram(locations=coordinates(im), y = im@data$band1)
Error in is.list(object) : 'object' is missing

и

> variogram(coordinates(im), im@data$band1)
Error in variogram.default(coordinates(im), im@data$band1) : 
  argument object and locations should be lists

Что я делаю неправильно?

Поскольку это не сработало, я попробовал пакет geoR, который я вызвал, используя:

> variog(coords=coordinates(im), data=im@data$band1)
variog: computing omnidirectional variogram
Error in FUN(X[[1L]], ...) : NA/NaN/Inf in foreign function call (arg 4)

Похоже, ошибка связана с данными, содержащими NA, поэтому я пытался удалить их с помощью na.omit, но это оставляет все NA там. В этом есть смысл, поскольку растровый файл должениметь что-то в каждом квадрате сетки. Есть ли способ как-то удалить NA или хотя бы заставить команду variogигнорировать их?

Будем признательны за любую помощь.

5
задан www 26 November 2017 в 22:06
поделиться