Как рассчитать среднеквадратичное смещение для пространственных данных в R? - PullRequest
0 голосов
/ 11 марта 2020

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

Вот мой центроид:

56.6558 3.097367

Вот остальные мои длинные / лат данные

-31.90000 26.88330` -29.31670 27.48330 50.83600 4.38500 -33.91667 18.41667

Я немного запутался в том, как развиваться, и был бы признателен за помощь! Спасибо!

Вот мои текущие данные:

first<-invasion[2:8,] #1906-1910
first<-first[,2:3]

head(first)

       Long       Lat
2  34.20000 -90.56670
3 -31.90000  26.88330
4 -29.31670  27.48330
5  50.83600   4.38500
6 203.34400  17.54000
7 -33.91667  18.41667

fx<-mean(first$Long)
fy<-mean(first$Lat)

coord06<-cbind(fx,fy)
coord06all<-cbind(first$Long, first$Lat)


1 Ответ

0 голосов
/ 11 марта 2020

Может быть, это может помочь вам

displacment <- data - do.call(rbind,replicate(nrow(data),centroid,simplify = FALSE))
mqd <- mean(do.call(`+`,displacment**2))

таким, что

> mqd
[1] 6216.857

ДАННЫЕ

centroid <- c(56.6558,3.097367)
data <- structure(list(long = c(-31.9, -29.3167, 50.836, -33.91667), 
    lat = c(26.8833, 27.4833, 4.385, 18.41667)), class = "data.frame", row.names = c(NA, 
-4L))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...