gpt4 book ai didi

R - 过滤器坐标

转载 作者:行者123 更新时间:2023-12-04 00:42:21 25 4
gpt4 key购买 nike

我是 R 的新手,我有一个简单的问题(在我看来),但到目前为止我还没有找到解决方案。我有一组(长)2D (x,y) 坐标 - 只是 2D 空间中的点,如下所示:

ID  x   y
1 1758.56 1179.26
2 775.67 1197.14
3 296.99 1211.13
4 774.72 1223.66
5 805.41 1235.51
6 440.67 1247.59
7 1302.02 1247.93
8 1450.4 1259.13
9 664.99 1265.9
10 2781.05 1291.12
etc.....

如何过滤特定区域(任何形状!)中的点(表格中的行)?如何过滤指定坐标子集中的点。如何指定想要/不需要的区域子集?以及如何将其放入 R 中? :)提前致谢!

最佳答案

要检查点是否位于任何类型的形状内,请使用 splancs 包的 inpip 函数。

library(splancs)

set.seed(123)
my.shape <- matrix(runif(10), 5)
my.points <- data.frame(x=runif(500), y=runif(500))
my.points$in.shape <- 1:500 %in% inpip(my.points, my.shape)

plot(my.points[1:2], col=1 + my.points$in.shape)
polygon(my.shape)

Single shape

要测试多个形状,将它们放在一个列表中并使用 lapply:

set.seed(127)
multi.shapes <- lapply(1:3, function(...) matrix(runif(6), 3))
my.points$in.multi.shapes <- 1:500 %in%
unlist(lapply(multi.shapes, function(p) inpip(my.points, p)))
plot(my.points[1:2], col=1 + my.points$in.multi.shapes)
for(p in multi.shapes) polygon(p)

Multiple shapes

关于R - 过滤器坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17571602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com