Удалить дубликаты GPS-координат в группирующей переменной

У меня есть набор данных, состоящий из мест сбора GPS для многих особей разных видов. В частности, мой набор данных имеет 3 столбца: долгота, широта и виды. Я хотел бы удалить дубликаты и очень похожие места сбора внутри каждого вида, рассматривая каждый вид независимо для этой цели. Работая в пакете R sp, я могу сделать это (игнорируя виды), используя следующий код:

    data = read.csv(file="Population_locality.csv", header=T)
    coordinates(data) <- 1:2
    reduced <- remove.duplicates(data, zero = 1, remove.second = TRUE)

Тем не менее, я не смог выяснить, как удалить дубликаты внутри каждого вида, рассматривая каждый вид независимо. Спасибо за любую помощь.

1 ответ

data = read.csv(file="Population_locality.csv", header=T)
    coordinates(data) <- 1:2
    splitData <- split(data, data$species)
    newData <- lapply(splitData, remove.duplicates, zero = 1, remove.second = TRUE)

Используйте функцию разделения, чтобы разделить виды на отдельные списки. Затем вы можете применить свою функцию к каждому элементу списка. Если вам нужно объединить их вместе do.call("rbind", newData) должно сработать.

Другие вопросы по тегам