绘制椭圆边界点的百分比

2023-12-05

我使用 ellipsoidhull() 函数来导出一个椭圆,该椭圆包围 x,y 坐标中的所有点。然后,我使用 point.in.polygon() 函数来预测一组新的 X,Y 坐标是否落在椭圆内部/外部。

是否可以使用 80% 的点,而不是绘制一个包围 (x,y) 中所有点的椭圆?可以选择80%的点来形成最紧凑或最小的椭圆区域。

> xy

x       y 
3.076   5.208
3.046   5.123
2.993   5.108
3.062   5.134
3.168   5.223
3.138   5.284
3.166   5.319
3.226   5.411
3.262   5.417
3.215   5.234
3.086   5.019
3.199   5.167
3.274   5.596
3.293   5.608
3.195   5.396
3.294   5.374
2.974   5.539
3.268   5.377
3.192   5.298
3.08    4.916
3.117   4.985
3.128   5.118
3.21    5.373
3.184   5.282
3.27    5.291
3.074   5.175

> Query
X       Y
3.03    5.008
2.99    5.018
2.987   4.944
2.994   4.899
2.911   4.963
2.913   4.942
2.966   4.969
3.079   5.011
3.096   5.268
2.992   5.169
3.205   5.466
3.257   5.776
3.154   5.563
3.16    5.192
3.12    5.446
3.271   5.719
3.154   5.478
3.143   5.454
3.123   5.439
3.075   5.224
3.264   5.56
3.288   5.404
3.237   5.499
3.207   5.47
3.207   5.459
3.11    5.23
3.301   5.605
3.139   4.823


library(cluster)
exy <- ellipsoidhull(as.matrix(xy))
ellipse <- predict(exy)
library("sp")
point.in.polygon(Query$X, Query$Y, ellipse.FAM[,1], ellipse.FAM[,2])

想必您正在使用cluster::ellipsoidhull。在不同的包中car::dataEllipse函数计算中心、形状和半径值并传递给ellipse。对于您可能假设的“假定正常”情况,相关代码是:

library(car)
dataEllipse
function(x,y, ....
...
else {
        shape <- var(cbind(x, y))
        center <- c(mean(x), mean(y))
    }
    for (level in levels) {
        radius <- sqrt(dfn * qf(level, dfn, dfd)

然后“椭圆”计算其各个点,并将其传递给线。进行最终计算的代码是

ellipse <-
function (center, shape, radius, ....)
....
 angles <- (0:segments) * 2 * pi/segments
    unit.circle <- cbind(cos(angles), sin(angles))
    ellipse <- t(center + radius * t(unit.circle %*% chol(shape)))
    colnames(ellipse) <- c("x", "y")

因此,这两个函数的组合适用于您的数据:

getEparams <-function(x,y, level) { dfn <- 2
        dfd <- length(x) - 1
        shape <- var(cbind(x, y))
        center <- c(mean(x), mean(y))
        radius <- sqrt(dfn * qf(level, dfn, dfd))
        return(list(center=center, shape=shape, radius=radius) ) }

ellcalc <- function (center, shape, radius, segments=51){segments=segments
    angles <- (0:segments) * 2 * pi/segments
    unit.circle <- cbind(cos(angles), sin(angles))
    ellipse <- t(center + radius * t(unit.circle %*% chol(shape)))
    colnames(ellipse) <- c("x", "y")
    return(ellipse)}

evals <- getEparams(Query$X, Query$Y, 0.80)
plot(ellcalc(evals[["center"]], evals[["shape"]], evals[["radius"]]))
title(main='Output of plot(ellcalc(evals[["center"]], evals[["shape"]], 
                           evals[["radius"]]))\nStackOverflow Demonstration')
 points(Query$X, Query$Y, cex=0.3, col="red")

显然,您可以保存或传递结果ellcalc调用您想要的任何对象

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

绘制椭圆边界点的百分比 的相关文章

  • 正则表达式字符串中第一个和最后一个非点的位置

    我希望找到字符串的第一个和最后一个非点元素的位置 理想情况下我想这样做regex在基地R 我已经写过R解决问题的代码 不过 我对一个感兴趣regex解决方案 感谢您的任何建议 这是一个示例数据集和R代码以获得所需的结果 此代码拆分字符串并使
  • 在 R 中向散点图添加线条

    如何向图表添加线条 我做了以下 dat lt data frame xvar 1 20 rnorm 20 sd 10 yvar 1 20 rnorm 20 sd 10 zvar 1 20 rnorm 20 sd 10 plot dat 1
  • 多功能测试仪替代 system.time

    我已经看到 我认为是这样 使用了类似于 system time 的函数 它可以同时评估多个函数的时间并输出一个输出 我不记得它是什么 并且用我正在使用的术语进行互联网搜索并没有得到我想要的响应 有人知道我正在谈论的功能的名称 位置吗 你想要
  • 通过间接引用列来修改数据框中的某些值

    我正在整理一些数据 我们将失败的数据分类到垃圾箱中 并按批次计算每个分类箱的有限产量 我有一个描述排序箱的元表 这些行按升序测试顺序排列 一些排序标签带有非语法名称 sort tbl lt tibble tribble weight lab
  • 将数据框中的每个 x 个字符拆分为字符串

    我知道这里有一些关于每隔一段时间分割一个字符串的答案nth字符 例如this one https stackoverflow com questions 23208490 split each character in r and this
  • pyomo + 网状错误 6 句柄无效

    我正在尝试运行pyomo优化 我收到错误消息 Error 6 The handle is invalid 不知道如何解释它 环顾四周似乎与特权有关 但我不太明白 在下面找到完整的错误跟踪以及重现它的玩具示例 完整的错误跟踪 py run f
  • 从命令行运行 R 代码 (Windows)

    我在名为 analysis r 的文件中有一些 R 代码 我希望能够从命令行 CMD 运行该文件中的代码 而无需通过 R 终端 并且我还希望能够传递参数并在我的代码中使用这些参数 例如就像下面的伪代码 C gt execute r scri
  • 使用 R 选择第一个非 NA 值

    df lt data frame ID c 1 1 1 2 3 3 3 test c NA 5 5 6 4 NA 7 3 NA 10 9 我想创建一个名为 value 的变量 它是每个单独 ID 测试的第一个非 NA 值 对于只有NA的个体
  • 在 R 中使用 lapply 绘制多个数据帧

    我正在尝试使用 lapply 函数绘制多个数据帧 每个数据帧一个图 但是尽管有关此主题的所有帖子我都找不到答案 因为我不断收到错误 图的输出列表为空 我的数据结构如下 df1 lt mtcars gt group by cyl gt tal
  • ggplot2 geom_密度和geom_histogram在一个图中

    如何制作一个所有条形加起来为 1 的直方图 并在适合的上方添加一个密度层 set seed 1234 df lt data frame sex factor rep c F M each 200 weight round c rnorm 2
  • 朴素贝叶斯分类器仅基于先验概率做出决策

    我试图根据推文的情绪将推文分为三类 买入 持有 卖出 我正在使用 R 和包 e1071 我有两个数据框 一个训练集和一组需要预测情绪的新推文 训练集数据框 text sentiment this stock is a good buy Bu
  • 将数据框中重叠的范围合并到唯一的组中

    我有一个 n 行 3 的数据框 df lt data frame start c 178 400 983 1932 33653 end c 5025 5025 5535 6918 38197 group c 1 1 2 2 3 df sta
  • 使用 Shiny 发布平行坐标图表时出现“错误:路径[1]="”:没有这样的文件或目录”

    我有一个似乎很常见但我还没有找到解决方案的问题 当尝试使用 rCharts Parcoords 发布 Web 应用程序时 出现以下错误 错误 路径 1 没有这样的文件或目录 奇怪的是 该应用程序在我的笔记本电脑上运行得很好 下面是我正在使用
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou
  • 如何获得所有大于x且有位置的数字?

    V lt c 1 3 2 4 2 3 1 X lt 3 pos lt V V X pos is 3 3 我需要的是所有 3 个的位置 I need 2 and 6 哪些职位是3 in V Use which pos lt which V 3
  • 将不均匀的层次列表转换为数据框

    我认为还没有有人问过这个问题 但是有没有一种方法可以将具有多个级别和不均匀结构的列表的信息组合成 长 格式的数据帧 具体来说 library XML library plyr xml inning lt http gd2 mlb com c
  • 如何从 R 读取 PDF 元数据

    我们很好奇 有没有一种方法可以从 R 读取 PDF 元数据 例如下面显示的信息 通过搜索我对此无能为力 r pdf metadata在当前的问题库中 非常欢迎任何指点 我想不出纯 R 的方法来执行此操作 但您可能可以安装您最喜欢的 PDF
  • 如何在将两根柱子保持在一起的同时熔化柱子?

    我有这种宽格式的数据 我想将其转换为长格式 Cond Construct Line Plant Tube shoot weight shoot Tube root weight root 1 Standard NA NA 2 199 95
  • 无法更改 RStudio 中的 R 版本

    我的 RStudio V 0 99 491 无法更改 R 版本 我以平常的方式行事Global Options gt R Version 然后它挂起并且不再工作或反应 R 运行良好的初始版本是R 3 1 0 我以前从未遇到过这样的问题 也许
  • 如何使用 dplyr 独立过滤每列的行

    我有以下内容 library tidyverse df lt tibble tribble gene colB colC a 1 2 b 2 3 c 3 4 d 1 1 df gt A tibble 4 x 3 gt gene colB c

随机推荐

  • mini_magick gem 不适用于我的 ImageMagick 安装

    我通过 MacPorts 和 mini magick gem 安装了 ImageMagick 并且收到以下脚本的错误 我该如何解决这个问题 require rubygems require mini magick image MiniMag
  • 如何在 Visual Studio 中显示交互式 Holoviews 图表(无需 Jupyter)?

    在使用 Holoviews 进行交互式绘图时 我主要使用 Jupyter Notebook Lab 如何让 Visual Studio 显示交互式图形和面板 而不使用 Visual Studio 中的交互式 Jupyter 在 Visual
  • NodeJS Web服务器“未定义不是一个函数”

    我刚刚浏览了一本书 pro Angularjs 中的教程 并且在设置 Nodejs Web 服务器时遇到了一些问题 就像书中描述的那样 我使用以下 server js 来创建它 var connect require connect con
  • R:将解释变量的动态数量拟合到多项式回归中

    假设给我一个数据框df在运行时 如何使用多项式回归拟合多项式模型 每个预测变量都是 df 中的一列 并且常数 k gt 2 的程度 困难在于 df 是在运行时读取的 因此在编写脚本时其列的数量和名称是未知的 但我确实知道响应变量是第一列 所
  • 解析类似 XML 的日志文件

    我有一个日志文件 记录事件如下 我想将每个事件转换为 PSCustomobject 它看起来有点像 XML 但将 xml 转换为文件的 Get Content 会出现错误 无法将值 System Object 转换为类型 System Xm
  • 如何检测 Botframework v4 中的对话结束?

    我试图在系统中的任何其他对话框完成后启动反馈对话框 我发现这个答案上面说要使用onEndDialog 但这不是 ActivityHandler 中的有效函数 只是onDialog 我的 主对话框 位于扩展 ActivityHandler 的
  • 在 MVC 3 应用程序中为模型中的对象属性创建视图?

    我有一个 Asp Net MVC 3 应用程序 其中包含一个由 EF 访问的数据库 Consultants 现在 数据库中的顾问表与其他几个表存在一对多关系 以获取简历类型信息 工作经验等 因此 用户应该能够填写一次他们的姓名等 但应该能够
  • pandas 中独立的多头列数据框

    请帮助将这个多帧熊猫分成单独的部分 这就是代码 import datetime as dt import pandas as pd import pandas datareader data as web pd set option dis
  • Android,以编程方式上传照片到 imgur 上托管

    我尝试了不同的方法来通过 imgur 上传和检索链接 但尽管查看了 imgur api 但没有一个成功 http api imgur com examples uploading java 但以下方法部分有效 我试图找回 错误 如果发生任何
  • Android 中连续的“Action_DOWN”

    Override public boolean onTouchEvent MotionEvent event if event getAction MotionEvent ACTION DOWN Log d VIEW LOG TAG Tou
  • Qt:使用二维数组值更新像素图网格布局

    我正在使用 Visual Studio 2010 和 Qt 4 7 都是 Windows 中的 C 组合进行游戏 该游戏是战舰的克隆 基于控制台输入 我已经按照我想要的样子创建了 gui 在 Qt 设计器的 Qt 端 我的 gui 由一个
  • 无法将 Entity Framework Core 迁移添加到 .NET Standard 2.0 项目

    我有一个包含许多项目的解决方案 其中之一 Domain 是一个 NET Standard 2 0 项目 我在其中创建了 EF CoreDbContext我想要启用的实现数据库迁移 我看到了各种博客和问答论坛 其中解释了问题 但由于 NET
  • 谷歌驱动器分页不起作用。清空 nextPageToken

    我正在 Symfony 中使用 Google Drive API 该库包含在以下行中composer json google apiclient 2 2 代码如下 service new Google Service Drive googl
  • 如何结合多处理和 eventlet

    我有一个任务需要启动 2 个进程 并且每个进程内需要启动 2 个线程才能真正工作 下面是我用来模拟我的用例的源代码 import multiprocessing import eventlet def subworker num1 num2
  • GCC 和 MS 编译器的模板实例化详细信息

    任何人都可以提供模板实例化方式的比较或具体细节吗 在 GCC 和 MS 编译器中的编译和 或链接时处理 这个过程有什么不同吗 在静态库 共享库和可执行文件的上下文中 我发现this doc关于 GCC 如何处理它 但我不确定这些信息是否 仍
  • “异步任务然后等待任务”与“任务然后返回任务”[重复]

    这个问题在这里已经有答案了 为了对异步编程和await 我想知道这两个代码片段在多线程以及执行顺序和时间上有什么区别 This public Task CloseApp return Task Run gt save database tu
  • 在silverlight中从字符串转换为数据?

    基本上我正在尝试这样做 Path path new Path string sData M 250 40 L200 20 L200 60 Z var converter TypeDescriptor GetConverter typeof
  • 如何在 SQL Server 中获取区分大小写的排序规则版本?

    有没有办法获得区分大小写的排序规则版本以在查询中使用 假设该查询可用于具有不同排序规则的数据库 其中一些排序规则不区分大小写 并且可以具有不同的区域性 例如多个客户端 但是 此查询应始终以区分大小写的方式运行 同时 如果可能 不更改排序规则
  • new Object() 和 Object() 有什么区别[重复]

    这个问题在这里已经有答案了 在 C 中 您可以使用 new 关键字或其他方式实例化对象 Object o new Object 但你也可以这样做 Object o Object 两者之间到底有什么区别 为什么我要使用其中一种而不是另一种 你
  • 绘制椭圆边界点的百分比

    我使用 ellipsoidhull 函数来导出一个椭圆 该椭圆包围 x y 坐标中的所有点 然后 我使用 point in polygon 函数来预测一组新的 X Y 坐标是否落在椭圆内部 外部 是否可以使用 80 的点 而不是绘制一个包围