Я пытаюсь сгенерировать то, что лучше всего описать как матрицу парных расстояний из фрейма данных, содержащего расстояние между двумя соседними точками.Это не евклидовы расстояния, это, по сути, расстояние между точками на береговой линии, поэтому расстояние не является прямой линией.Мне удалось сгенерировать матрицу расстояний в пакете riverdist
с использованием геопространственных данных, но это сделало только полное расстояние между двумя точками, сейчас я пытаюсь сделать подмножество этого расстояния между точками.
Я искал способ сделать это немного и продолжать приходить с пустыми руками.Любая помощь приветствуется.
Вот экзамен:
У меня есть эти данные:
mat <- matrix(
c(
3, #distance between 1 and 2
10, #distance between 2 and 3
7, #distance between 3 and 4
9 #distance between 4 and 5
),
nrow=4, ncol=1, dimnames = list(c("site1","site2","site3","site4"),c("dist")))
> mat
dist
site1 3
site2 10
site3 7
site4 9
И я хотел бы получить следующую матрицу «расстояний»:
site1 site2 site3 site4 site5
site1 0
site2 3 0
site3 13 10 0
site4 20 17 7 0
site5 29 26 16 9 0
Исходные данные могут быть лучше организованы следующим образом для этой задачи:
SiteA SiteB Dist
1 site1 site2 3
2 site2 site3 10
3 site3 site4 7
4 site4 site5 9
Есть какой-нибудь совет?