【问题标题】:Remove invalid and incorrect spatial points (Latitude and longitude) in R删除 R 中无效和不正确的空间点(纬度和经度)
【发布时间】: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


    【解决方案1】:

    存储的值可能与显示的不同。使用 dplyr::near 与您知道不正确的坐标进行近似匹配。如果我是你,id 首先使用 mutate 通过新的布尔列标记不正确的坐标,然后在该布尔列上进行过滤

    【讨论】:

    • 谢谢@Ralph Asher,我是一个非常基础的 R 用户,不知道你在这种情况下使用 dplyr::near 或 mutate 函数来标记不正确的坐标是什么意思。能否请您提供代码行来做到这一点,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-03-17
    • 2013-05-03
    • 2018-05-25
    • 2015-06-10
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    相关资源
    最近更新 更多