【发布时间】:2022-11-27 08:01:39
【问题描述】:
我拥有 35 种动物的 100,000 多个 GPS 位置。我已经删除了“NA”和“0”GPS 纬度-经度位置,但注意到有一个纬度和经度位置不正确,需要删除(在这个数据子集中,第 4 行有 -78.6917357 17.5506138作为 LAT 和 LON)。很可能还有其他不正确的 GPS 位置,想知道是否有一种简单的方法来识别异常值并将其删除。
我的示例数据如下所示:
COLLAR NAME Animal_ID SEX DATE TIME Year Month Day Hour LATITUDE LONGITUDE HEIGHT
26 Keith CM8 M 2009-05-28 2:00:00 2009 5 28 2 49.7518424 -123.6099396 705.87
26 Keith CM8 M 2009-06-09 7:00:00 2009 6 9 7 49.7518495 -123.4860212 191.61
26 Keith CM8 M 2009-05-31 18:00:002009 5 31 18 49.7518576 -123.5373316 410.96
26 Jack CM6 M 2009-06-01 22:00:002009 6 1 22 -78.6917357 17.5506138 490.23
26 Keith CM8 M 2009-05-28 2:00:00 2009 5 28 2 49.7518424 -123.6099396 705.87
26 Keith CM8 M 2009-06-09 7:00:00 2009 6 9 7 49.7518495 -123.4860212 191.61
26 Keith CM8 M 2009-05-31 18:00:002009 5 31 18 49.7518576 -123.5373316 410.96
27 Keith CM8 M 2009-05-28 3:00:00 2009 5 28 3 49.7518775 -123.6099242 713.05
27 Keith CM8 M 2009-06-09 10:00:002009 6 9 10 49.7519163 -123.486203 108.02
我使用的代码是用来删除 0 和 NA 的:
library(dplyr)
data <- data_all %>%
filter(!is.na(LATITUDE), LATITUDE !=0,!is.na(LONGITUDE), LONGITUDE !=0)
现在,我想使用以下代码行进一步删除此处的第 4 行(以及任何其他无效或不正确的空间点),但这不起作用:
data <- filter(LATITUDE !=-78.69174, LONGITUDE !=17.55061)
运行此代码后,我看不到行数减少。请注意,我没有行号,因此无法专门删除第 4 行,理想情况下,我想删除所有有效的一行代码(或作为管道函数)中具有奇数值的行。非常感谢您的帮助。谢谢!
【问题讨论】:
标签: r dplyr filter tidyverse latitude-longitude