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)
有什么更准确、更有效的方法来做到这一点?一种可以容纳多个嵌套分组变量的方法。
请提前感谢您。
解决方案
我认为将此处显示的代码的第二块更改为此应该可行:
dt$position = "out"
dt$position[(dt$xloc)^2 + (dt$yloc)^2 <0.5] = "in"
推荐阅读
- python - 强制转换为 Unicode:需要字符串或缓冲区,找到 int
- python - Pandas DataFrame:将唯一组件提取为列
- ios - 将模型类传递给嵌套方法时出现Swift泛型方法问题
- linux - 如何将具有不同长度行的文件转换为单列,将行的第一个单词添加到单独的列
- sql - 在使用问号的 Excel 外部数据中执行 Postgres 查询
- .net-core - 将 Kestrel 中的路径限制为 .NET Core 中的特定端口(端口过滤)
- reactjs - 两种切换状态?
- asp.net - 如何通过字符串名称创建 DataSet 的实例?
- sql - 如何连接数据库中的实体
- python - 如何在 PyPlot 中 plot.show() 日期时间格式化数据“mm-dd-yy hh:mm:ss”?