Мне нужно рассчитать среднее местоположение для пространственных данных с переменными долготы и широты. Операция должна быть сделана группой, что несколько усложняет ситуацию. Я смог сделать это для простого взвешенного среднего значения (пример ниже), но более сложный показатель не так легко реализовать.
Пример данных:
df <- data.frame(longitude = c(22, 23, 24, 25, 26, 27),
latitude = c(56, 57, 58, 59, 60, 61),
weight = c(1, 2, 3, 1, 2, 3),
group = c("A", "A", "A", "B", "B", "B"))
Простое взвешенное среднее:
dfMean <- df %>%
group_by(group) %>%
summarize_at(vars(longitude, latitude), list(~weighted.mean(., weight))) %>%
ungroup
Я хочу вычислить это с помощью функции geopshere::geomean
. Проблема в том, что вывод функции представляет собой матрицу из двух столбцов, которая не совместима с dplyr::summarize
. Любые предложения о том, как добиться этого эффективно?