我有一个动物数据集,这些动物被无线电跟踪了 10 年。我的列是日期、纬度、经度、东距、北距和动物 ID。多年来,一些坐标被记录错误。结果,一些动物的位置被记录在研究区域之外(例如,与陆地上的鱼一样错误)。我想识别我的数据集中的那些数据点并删除它们,而不必逐个检查数据行。我遇到了 scrubr 包,但我并没有很成功地让它工作。
我在这里附上了一个处理位置的虚拟数据集,但适用类似的逻辑(我认为)。
library(dplyr)
library(tidyverse)
library(sp)
library(ggmap)
library(adehabitatLT)
library(lubridate)
library(mapview)
上传虚拟数据集
starbucks =read.csv("https://raw.githubusercontent.com/libjohn/mapping-with-R/master/data/All_Starbucks_Locations_in_the_US_-_Map.csv")
过滤数据
starbucksNC <- starbucks %>% filter(State == "NC")
创建地图
mapview(starbucksNC, xcol = "Longitude", ycol = "Latitude", crs = 4269, grid = FALSE)
#用四个数据点描述研究区域边界
-78.00149, 35.40030|
-77.90917, 35.40869|
-77.99672, 35.35299|
-77.89235, 35.35523|
从这里开始,我不确定如何从原始数据集中删除位于该边界之外的 GPS 坐标。