Пространственная коррелограмма

Я пытаюсь запустить пространственную автокоррелограмму для проекта, посвященного обезлесению в атлантическом лесу, Бразилия.

Я, однако, смущен тем, почему я сталкиваюсь с этой проблемой.

проблема

Когда я запускаю начальную часть своего кода, я получаю сообщение об ошибке

Ошибка: ncol(x) == 2 не ИСТИНА

Мой код

r.nb <- dnearneigh(as.matrix(shapeS$POINT_X,shapeS$POINT_Y),
                   d1=200, d2=100000, latlong=FALSE)

и тогда я надеюсь перейти запустить этот код

p.cor <- sp.correlogram(r.nb, deforestation, order=15,
                        method="I", randomisation=FALSE)

r.nb <- dnearneigh(as.matrix(shapeS$POINT_X,shapeS$POINT_Y), 
                   d1=200, d2=100000, latlong=FALSE)

Мои данные

Набор векторных данных с заголовками

POINTID GRID_CODE POINT_X POINT_Y

1 ответ

Решение

Вам нужно использовать cbindне as.matrixили подход, который я покажу ниже. Всегда идентифицируйте пакеты R, которые вы используете. Вы утверждаете, что ваши данные устанавливают "векторный набор данных". Я сомневаюсь, что. Я предполагаю, что это матрица.

Если это матрица, вы можете сделать

m <- shapeS[, c('POINT_X', 'POINT_Y')]
library(spdep)
r.nb <- dnearneigh(m, d1=200, d2=100000, latlong=FALSE)

Это data.frame, вы можете сделать

m <- as.matrix(shapeS[, c('POINT_X', 'POINT_Y')])

или же

m <- cbind(shapeS$POINT_X, shapeS$POINT_Y)
Другие вопросы по тегам