使用区间来分配分类值

2023-12-25

获取以下通用数据

A <- c(5,7,11,10,23,30,24,6)
B <- c(1,2,3,1,2,3,1,2)
C <- data.frame(A,B)

以及以下间隔

library(intervals)
interval1 <- Intervals(
  matrix(
    c(
      5, 15,
      15, 25,
      25, 35,
      35, 100
    ),
    ncol = 2, byrow = TRUE
  ),
  closed = c( TRUE, FALSE ),
  type = "Z"
)
rownames(interval1) <- c("A","B","C", "D")

interval2 <- Intervals(
  matrix(
    c(
      0, 10,
      12, 20,
      22, 30,
      30, 100
    ),
    ncol = 2, byrow = TRUE
  ),
  closed = c( TRUE, FALSE ),
  type = "Z"
)
rownames(interval2) <- c("P","Q","R", "S")

现在我想创建以下输出表

因此,当 A 值与两个 inverval 重叠时,我想将所有数据“复制”到下面的一行。 我们还介绍data$X哪一个是interval1值和data$y哪一个是interval2价值。 如果数据不适合任何间隔,我想将其从 data.frame 中删除

我不确定是否break()函数会更好地用于创建间隔,或者如果dplyr函数可用于制作重复数据行


您可以使用foverlaps in data.table:

library(data.table)
C.DT <- data.table(C)
C.DT[, A1:=A] # required for `foverlaps` so we can do a range search

# `D` and `E` are your interval matrices

I1 <- data.table(cbind(data.frame(D), idX=LETTERS[1:4], idY=NA))
I2 <- data.table(cbind(data.frame(E), idX=NA, idY=LETTERS[16:19]))

setkey(I1, X1, X2)  # set the keys on our interval ranges
setkey(I2, X1, X2)

rbind(
  foverlaps(C.DT, I1, by.x=c("A", "A1"), nomatch=0), # match every value in `C.DT$A` to the ranges in `I1` 
  foverlaps(C.DT, I2, by.x=c("A", "A1"), nomatch=0)
)[order(A, B), .(A, B, X=idX, Y=idY)]

生产:

     A B  X  Y
 1:  5 1  A NA
 2:  5 1 NA  P
 3:  6 2  A NA
 4:  6 2 NA  P
 5:  7 2  A NA
 6:  7 2 NA  P
 7: 10 1  A NA
 8: 10 1 NA  P
 9: 11 3  A NA
10: 23 2  B NA
11: 23 2 NA  R
12: 24 1  B NA
13: 24 1 NA  R
14: 30 3  C NA
15: 30 3 NA  R
16: 30 3 NA  S

请注意,您可以通过修改以下步骤轻松更改您得到的内容而不是 NAI1 and I2被创建。

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

使用区间来分配分类值 的相关文章

  • 生成因子变量水平的预测值

    我正在使用连续结果变量对多个因子变量进行回归lm 例如 fit lt lm dv factor hour factor weekday factor month factor year count data df 我想生成预测值 yhat
  • 如何在R中使用OpenNLP获取POS标签?

    这是 R 代码 library NLP library openNLP tagPOS lt function x s lt as String x word token annotator lt Maxent Word Token Anno
  • S4 类 [(子集)带有附加参数的继承

    这是一个扩展在 R 中的访问器函数中使用 callNextMethod https stackoverflow com q 24875284 2752888 2017 03 25 更新 为了说明如何仅在加载方法时失败 但在构建的包中时不会失
  • 为什么我必须在每次 R 升级时手动创建目录“~/R/%p-library/%v”?

    每次R升级后 我必须重新安装我使用的软件包 来自源代码 因此必须为新版本重新编译它们 这是一个正确的 可以理解的行为 所以我调用install packages http stat ethz ch R manual R devel libr
  • Unpivot Pandas 数据

    我目前有一个DataFrame布置为 Jan Feb Mar Apr 2001 1 12 12 19 2002 9 2003 我想将数据 逆透视 使其看起来像 Date Value Jan 2001 1 Feb 2001 1 Mar 200
  • 计算 R 中数据帧的每一行中特定值的连续出现次数

    我有一个data frame许多位置 这么多行 的变量的每月值 我想计算值为零的连续月份 即连续单元格 的数量 如果只是从左到右阅读 这很容易 但增加的复杂性是年底与年初是连续的 例如 在下面的缩短示例数据集中 用季节而不是月份 位置 1
  • 按列分组的数据帧上 R 中的行之间的差异

    我希望通过 app name 获得不同版本的计数差异 我的数据集如下所示 app name version id count difference 这是数据集 data structure list app name structure c
  • R:使用带有 .Call 和 C/C++ 包装器的 Fortran 子例程而不是 .Fortran 的优点?

    我有一个 R 包 它使用大量 Fortran 子例程来进行递归线性代数计算的嵌套循环 很大程度上依赖于 BLAS 和 LAPACK 例程 作为 Fortran 的接口 我使用 Fortran功能 我刚刚读过乔纳森卡拉汉的博客文章 http
  • 再现频率矩阵图

    我想在 R 中重新创建一个情节 情节如下 来源 Boring E G 1941 作为动态平衡的统计频率 心理学评论 48 4 279 这略高于我的工资等级 能力 因此在这里询问 无聊的状态 第一次 A 只能出现 从不 0 或 总是 1 在
  • 在嵌套 tibbles 上应用 ntile

    我正在尝试申请ntile在一些嵌套的小标题上 但我似乎无法让它工作 你能看出我错在哪里吗 data iris iris gt group by Species gt mutate quintile ntile Petal Length 5
  • 在 R 中按组检查重叠开始和结束时间

    我想检查数据的重叠 这是数据 ID lt c rep 1 3 rep 3 5 rep 4 4 rep 5 5 Begin lt c 0 2 5 3 7 8 7 25 25 10 15 17 20 1 NA 10 11 13 End lt c
  • 循环中的knitr模板和子文档

    圣诞节前我之前问过跨多个 knitr 文档的单一样式表 https stackoverflow com questions 20370584 single style sheet across multiple knitr document
  • 确定向量中是否存在元素的最有效方法

    我有几种算法取决于确定元素是否存在于向量中的效率 在我看来 这 in 这相当于is element 应该是最有效的 因为它只返回一个布尔值 在测试了几种方法之后 令我惊讶的是 这些方法是迄今为止效率最低的 以下是我的分析 随着向量大小的增加
  • 按具有作业的组划分的 R 分位数

    我有以下 df group rep seq 1 3 30 variable runif 90 5 0 7 5 df data frame group variable 我需要 i 按组定义分位数 ii 将每个人分配到相对于其组的分位数 因此
  • R-在多个图的外缘绘制居中图例

    我想在具有多个绘图的设备中的绘图区域之外绘制居中图例 SO 中提出了许多关于更改 R 图中图例位置的问题 略有不同 例如 1 R 组合图的通用标题和图例 https stackoverflow com questions 8736966 r
  • 使用 R 从字符串中提取函数参数

    最好使用stringr包 我想创建一个函数extract 以字符串向量作为参数 vec lt c div span icon hospital user i18n t Enrolments or i18n t Paper a string
  • 抑制 R 中的错​​误消息

    我正在 R 中运行模拟研究 有时 我的模拟研究会产生错误消息 当我在函数中实现模拟研究时 当出现此错误消息时模拟停止 我知道抑制错误是不好的做法 但此时对我来说 除了抑制错误然后继续下一个模拟 直到达到我喜欢运行的模拟总数为止 没有其他选择
  • 栅格堆叠后如何写入?

    我想操作几个光栅文件 然后再次写入它们 rasterfiles lt list files C data envi full names TRUE d1 lt overlay stack rasterfiles fun function x
  • 在 R Shiny 中,如何使用可排序 js 将其在列表中出现的顺序次数附加到每个列表元素?

    下面的可重现代码适用于将元素从一个面板拖动到另一个面板 并在 拖动到 面板中自动使用 HTML CSS 对拖入的每个元素进行排名顺序编号 但是 我现在尝试附加到每个 拖动到 列表元素的末尾 使用某种形式的paste0 我假设 该元素在 拖至
  • 对于多项式,获取其所有极值并通过突出显示所有单调部分来绘制它

    有人问我这个有趣的问题 我认为值得将其发布在这里 因为 Stack Overflow 上还没有任何相关线程 假设我有长度为的多项式系数n vector pc 其中次数多项式n 1对于变量x可以以其原始形式表示 pc 1 pc 2 x pc

随机推荐

  • 在iPhone上播放第三方库解码的音频

    第三方库生成任何所需大小的 16 位带符号立体声样本的顺序缓冲区 我无法弄清楚使用哪些框架 函数来从这些缓冲区中播放 我一直在研究这个例子这个答案 https stackoverflow com questions 1710133 play
  • 重新连接后继续FTP下载

    重新连接ftp服务器后是否可以继续ftp下载 是的 在协议级别 在 RETR 之前发送服务器 REST 以查找文件中的某个位置 因此 如果文件已有 1500 字节 则执行 REST 1500 它将从第 1501 个字节开始发送 这是一个例子
  • 使用参数 {NDK_PROJECT_PATH=null 执行进程 .../ndk-bundle/ndk-build 时出错

    为什么我会收到下一个错误 附注没有任何ndk build文件夹位于ndk bundle这是什么意思 Build command failed Error while executing process home user Android S
  • Python发送UDP数据包

    我正在尝试编写一个程序来发送 UDP 数据包 如https wiki python org moin UdpCommunication https wiki python org moin UdpCommunication该代码似乎是 Py
  • 使用 boost Spirit (longest_d) 解析 int 或 double

    我正在寻找一种将字符串解析为 int 或 double 的方法 解析器应该尝试两种选择 并选择与输入流的最长部分匹配的一个 有一个已弃用的指令 longest d 正是我正在寻找的 number longest d integer real
  • RavenDB:Raven 查询未返回文档授权的正确计数

    public class EngineInfo public int Id get set public int AircraftId get set public string SerialNumber get set public in
  • VSTS 登录失败,出现 401 未授权 - [用户] 有多个与其关联的帐户

    我尝试让域中的新用户访问我们的 VSTS 我们通过 MPN 订阅 MSDN 企业版 如果用户使用其工作帐户登录 my visualstudio com 则订阅已分配且对用户可见 如果用户尝试访问 ourprojects visualstud
  • Clojure 单元测试。如何测试函数是否抛出异常?

    我看到有一种方法可以测试函数是否抛出类 C 的异常 但是有没有一种方法可以测试函数是否抛出任何异常 或者断言它不应该抛出异常 对于预计不会出现异常的测试 请按正常方式编写测试 任何抛出的异常都会导致测试失败 对于可能引发任何异常的测试 请使
  • Android 资源 ID 突然不是最终的,字段无法解析

    我正在开发一个新旧项目 我正在为不同的国家 地区市场制作它 当我从旧项目复制代码时 它显示一些错误 例如迁移 ANDROID 代码 从 ADT 14 开始 资源字段不能用作 switch case 这种情况发生在 strings xml 文
  • 如何在 Ruby 中创建 OpenGL 3.x 或 4.x 上下文?

    我到处都找过了 但没有任何 ruby 绑定可以允许创建 OpenGL 3 4 上下文 它不必是完整的 OpenGL 绑定库 只需创建 OpenGL 上下文的部分即可 更新 如果我足够绝望 我会用 ruby ffi 进行部分 glfw rub
  • 位置:固定边距:IE9/10 中自动

    我为响应式网站制作了一个粘性标题 其中标题也以margin 0 auto 它适用于 Chrome Firefox Safari IE8 但不适用于 IE9 最小标记 div class viewport div
  • 如何在微控制器上运行opencv?

    我对电子领域和控制器了解很多 但我想知道如何将opencv程序与红色交通灯结合起来 我知道答案是微控制器 但我只知道有一个编译器AVR 它可以将C编译为十六进制 然后与微控制器一起工作 但 OpenCV 我想我不会在 C 上运行 是高级别的
  • 动画选择器/状态转换

    我的 ListView 有一个简单的选择器
  • 将 Visual Studio 项目文件解析为 XML

    使用动态 xml 解析器 我尝试将 VS 项目文件作为 XElement 加载 这是项目文件的精简版本
  • 如何将数据从blob存储复制到VM?

    是否可以将 Azure Blob 存储中存在的文件复制到 Azure 虚拟机 在浏览了 Azure 数据工厂文档后 数据管理网关似乎提供 文件系统 作为数据接收器 但我无法找到任何相关文档 教程 谁能告诉我这是否可能吗 如果可以的话 可以怎
  • 将 HTML 画布裁剪为其可见像素(内容)的宽度/高度?

    可以 HTMLcanvas元素被内部裁剪以适应其内容 例如 如果我有一个 500x500 像素的画布 其中的随机位置只有一个 10x10 像素的正方形 是否有一个函数可以通过扫描可见像素和裁剪将整个画布裁剪为 10x10 Edit 这被标记
  • 如何在黑莓应用程序中显示饼图[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 如何使用 rim api 在黑莓应用程序中显示饼图 rim api 中是否有可用的控件或者如何实现 有人可以通过分享代码片段来帮助我吗 Go
  • 旋转后找到矩形的顶点

    所以我承认我真的不知道如何表达这个问题 但完整的解释应该有助于阐明一些情况 这是我所知道的 我在 HTML5 Canvas 上绘制了一个矩形 我知道所有 4 个角的点以及宽度和高度 由此我可以计算出中点 我想知道的是 如果我将矩形旋转 n
  • iptables 阻止本地连接到 mongodb

    我有一个带有 mongodb 2 0 4 的虚拟机 Ubuntu 12 04 4 LTS 我想用 iptables 限制它只接受 SSH 输入 输出 而不接受其他任何东西 这就是我的设置脚本设置规则的方式 bin sh DROP every
  • 使用区间来分配分类值

    获取以下通用数据 A lt c 5 7 11 10 23 30 24 6 B lt c 1 2 3 1 2 3 1 2 C lt data frame A B 以及以下间隔 library intervals interval1 lt In