从给定点的半径选择坐标数据

时间:2018-10-31 04:35:20

标签: r

我有x,y坐标的数据,我想根据给定点的半径进行选择。到目前为止,我的搜索仅产生了针对地理数据的解决方案,我想知道是否存在一种通用的,非地理的方法。

样本数据:

set.seed(00) 
dt = data.table("group" = rep(1:2, times=2, each=50),"xloc" = runif(100, min=-1, max=1),"yloc" = runif(100, min=-1, max=1))

一次尝试:

对于示例数据,我想要一个从0.5开始的半径为[0,0]的圆形外壳。但是我的尝试只带我到一个方形的围栏:

dt$position = "out"
dt$position[dt$xloc >-0.5 & dt$xloc <0.5 & dt$yloc >-0.5 & dt$yloc <0.5] = "in"

...看起来像这样,有明显的溢出。

ggplot(dt, aes(xloc, yloc))+geom_point(aes(colour=factor(position)))+
  annotate("path",
           x=0+.5*cos(seq(0,2*pi,length.out=100)),
           y=0+.5*sin(seq(0,2*pi,length.out=100)))+facet_grid(~group)

enter image description here

什么是更准确,更有效的方法?一种可以容纳多个嵌套分组变量的方法。

请先谢谢您。

1 个答案:

答案 0 :(得分:1)

我认为将此处显示的代码的第二块更改为此应该可行:

dt$position = "out"
dt$position[(dt$xloc)^2 + (dt$yloc)^2 <0.5] = "in"