我有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)
什么是更准确,更有效的方法?一种可以容纳多个嵌套分组变量的方法。
请先谢谢您。
答案 0 :(得分:1)
我认为将此处显示的代码的第二块更改为此应该可行:
dt$position = "out"
dt$position[(dt$xloc)^2 + (dt$yloc)^2 <0.5] = "in"