Спасибо за хорошо написанный вопрос, четко определяющий ваши потребности. Было бы еще лучше с простым воспроизводимым примером, использующим, например, встроенные данные из raster
и spatstat
или искусственно сгенерированные данные. В отсутствие воспроизводимого примера мой ответ не будет содержать никакого кода, но обрисует, что вы могли бы сделать.
Первый шаг в ppm
заключается в создании квадратурной схемы или класса quad
или logiquad
в зависимости от того, какойприближение максимального правдоподобия используется в ppm
. Они могут быть сгенерированы непосредственно пользователем через quadscheme
или quadscheme.logi
. Квадратурная схема содержит все точки, где ppm
будет оценивать ковариаты. Вы можете извлечь координаты квадратурной схемы, используя функцию coords
. Если вы построите data.frame
со всеми ковариатами, оцененными в этих точках, вы можете указать это в качестве аргумента data
для ppm
, тогда как квадратурная схема является первым аргументом. Чтобы лучше понять вещи, попробуйте прочитать раздел Подробности help(ppm.quad)
.
Другой подход, который может дать вам оптимальное использование ваших данных, состоит в том, чтобы извлечь точки сетки вашего текущего стека растров вместе со всеми ковариатными значениями. и спроецировать эту точку данных. Затем преобразуйте его в простой data.frame
со столбцами x
, y
, covar1
, covar2
и т. Д. Затем вы можете использовать x
и y
вместе с интересующими вас точечными наблюдениями, чтобы создатьквадратурная схема вручную, а остальные столбцы можно указать как data
до ppm
.
Было бы интересно сравнить результаты обоих этих подходов, а также результаты простого проецирования стека растра и преобразованияэто список im
объектов.