R脚本-基于R对csv分布数据进行去冗余筛选
R脚本-基于R对csv分布数据进行去冗余筛选

# 导入必要的包(如果未安装第一次使用需要安装以下脚本)
library(dplyr)
library(geosphere)
# 读取数据
data <- read.csv("points.csv")
# 计算每个点与其他点之间的距离
dist_mat <- distm(data[, c("lon", "lat")])
# 将距离小于5km的点标记为需要保留的
keep <- rep(TRUE, nrow(data))
for (i in 1:(nrow(data)-1)) {
for (j in (i+1):nrow(data)) {
if (dist_mat[i, j] < 5000) {
keep[j] <- FALSE
}
}
}
# 筛选并保存数据
result <- data[keep, ]
write.csv(result, "filtered_points.csv", row.names = FALSE)
脚本说明:其中,假设原始数据的文件名为points.csv,包含两列数据lon和lat表示经度和纬度。在脚本中,首先读取数据,然后计算每个点与其他点之间的距离。接着,将距离小于5km的点标记为需要保留的,并最终筛选出需要保留的点并保存为filtered_points.csv文件。
本文使用 文章同步助手 同步