У меня есть большие фреймы данных, состоящие из пар координат X и Y, и я хочу рассчитать евклидовы расстояния между последовательными координатами (минимальный размер составляет около 2000 пар координат).
Таким образом, я хочу рассчитать расстояние от строки 1 до 2, строки со 2 до 3, строки с 3 до 4 и т. Д. Этот вопрос хорошо показывает, как рассчитать евклидово расстояние между первой и последней точкой для данных трека, но мои данные ближе к:
dff <- structure(list(A = c(0L, 0L, 0L, 0L, 0L, 0L), T = 0:5, X = c(668L, 670L, 672L, 674L, 676L, 678L), Y = c(259L, 259L, 259L, 259L, 259L, 260L), V = c(NA, 0, 0, 0, 0, 0)), .Names = c("A", "T", "X", "Y", "V"), row.names = c(NA, 6L), class = "data.frame")
Кажется, что должен быть способ создать цикл для этого, но я не уверен, как это сделать. Использование dist()
требует вычислений для наборов данных такого размера, и в любом случае я также не уверен, как извлекать элементы матрицы, которые являются одноразовыми по диагонали.
sp
? - person Frank   schedule 20.08.2013