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

2023-06-11  本文已影响0人  生信小窝

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文件。

上一篇 下一篇

猜你喜欢

热点阅读