Пространственная коррелограмма
Я пытаюсь запустить пространственную автокоррелограмму для проекта, посвященного обезлесению в атлантическом лесу, Бразилия.
Я, однако, смущен тем, почему я сталкиваюсь с этой проблемой.
проблема
Когда я запускаю начальную часть своего кода, я получаю сообщение об ошибке
Ошибка: 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)