data.table 中的条件连接?

2024-01-25

我有以下数据表,dtgrouped2:

     MonthNo Unique Total
 1:       1    AAA    10
 2:       1    BBB     0
 3:       2    CCC     3
 4:       2    DDD     0
 5:       3    AAA     0
 6:       3    BBB    35
 7:       4    CCC    15
 8:       4    AAA     0
 9:       5    BBB    60
10:       5    CCC     0
11:       6    DDD   100
12:       6    AAA     0

还有另一张桌子,dt2:

     Unique1 StartDate EndDate Amount1 Amount2
1:     AAA        0        1       7       0
3:     AAA        1        2       5       0
2:     AAA        2        4       3       2

我想插入 Amount1 和 Amount2dt2 to dtgrouped2基于以下对每行评估的“唯一”逻辑dtgrouped2:

filter(StartDate< MonthNo & EndDate>=MonthNo)
then MAX(EndDate)
then insert Amount1 as Amount1 and Amount2 as Amount2

所以你可以看到结果根据行的不同而不同。这将是预期的输出:

Date    MonthNo Unique  Items   Amounts Amount1 Amount2
Jan       1      AAA    x         10        7   0
Jan       1      BBB    y          2        NA  NA
Feb       2      CCC    x          3        NA  NA
Feb       2      DDD    y         15       NA   NA
March     3      AAA    y         20        3   2
March     3      BBB    x         35       NA   NA
April     4      CCC    x         15       NA   NA
April     4      AAA    y         50       3    2
May       5      BBB    x         60      NA    NA
May       5      CCC    y         70      NA    NA
June      6      DDD    x         100     NA    NA
June      6      AAA    y         20       NA   NA

我建议结合使用非等值连接mult = "last"(为了只捕获最近的EndDate)

dtgrouped2[, c("Amount1", "Amount2") := # Assign the below result to new columns in dtgrouped2
              dt2[dtgrouped2, # join
                  .(Amount1, Amount2), # get the column you need
                  on = .(Unique1 = Unique, # join conditions
                         StartDate < MonthNo, 
                         EndDate >= MonthNo), 
                  mult = "last"]] # get always the latest EndDate
dtgrouped2

#     MonthNo Unique Total Amount1 Amount2
#  1:       1    AAA    10       7       0
#  2:       1    BBB     0      NA      NA
#  3:       2    CCC     3      NA      NA
#  4:       2    DDD     0      NA      NA
#  5:       3    AAA     0       3       2
#  6:       3    BBB    35      NA      NA
#  7:       4    CCC    15      NA      NA
#  8:       4    AAA     0       3       2
#  9:       5    BBB    60      NA      NA
# 10:       5    CCC     0      NA      NA
# 11:       6    DDD   100      NA      NA
# 12:       6    AAA     0      NA      NA

您需要加入的原因dt2[dtgrouped]首先(而不是相反)是因为您想加入dt2对于每个可能的值dtgrouped,因此允许多个值dt2加入到dtgrouped

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

data.table 中的条件连接? 的相关文章

  • .wav 文件长度/持续时间,无需读入文件

    有没有办法提取有关 wav 文件长度 持续时间的信息 而无需在 R 中读取文件 我有数千个这样的文件 如果我必须阅读每个文件才能找到其持续时间 那将需要很长时间 Windows 文件资源管理器为您提供了打开 长度 字段的选项 并且您可以查看
  • 如果满足 NaN 阈值,Python 将删除 DF 中的所有特征实例

    Using df dropna thresh x inplace True 我可以成功删除至少缺少的行x非纳米值 但因为我的 df 看起来像 2001 2002 2003 2004 bob A 123 31 4 12 bob B 41 1
  • 如何在R中删除重复项

    我有一个非常大的数据集 如下所示 df lt data frame school c a a a b b c c c year c 3 3 1 4 2 4 3 1 GPA c 4 4 4 3 3 3 2 2 school year GPA
  • 如何从 Fortran 调用 R 函数?

    根据http gallery rcpp org articles r function from c http gallery rcpp org articles r function from c Rcpp 允许用户从 C 调用 R 函数
  • 重复测量引导统计数据,按多个因素分组

    我有一个看起来像这样的数据框 但显然还有更多行等 df lt data frame id c 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 cond c A A B B A A B B A A B B A A B B co
  • R中的一元加/减是什么?

    来自 R 的详细信息部分Syntax http stat ethz ch R manual R patched library base html Syntax html帮助页面 定义了以下一元和二元运算符 他们被列出 在优先级组中 从最高
  • IEnumerable 作为 DataTable 性能问题

    我有以下扩展 它生成一个DataTable从一个IEnumerable public static DataTable AsDataTable
  • 替换 pandas 数据框中的点

    我有一个如图所示的数据框 数字实际上是对象 正在做df treasury rate pd to numeric df treasury rate 可预见的炸弹 然而 做df replace np nan 似乎没有摆脱这个点 所以我很困惑 有
  • 通过间接引用列来修改数据框中的某些值

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

    我知道这里有一些关于每隔一段时间分割一个字符串的答案nth字符 例如this one https stackoverflow com questions 23208490 split each character in r and this
  • R 中的快速 QR 分解

    我有大量矩阵 需要对其执行 QR 分解并存储生成的 Q 矩阵 进行归一化 以便 R 矩阵在其对角线上具有正数 除了使用之外还有其他方法吗qr 功能 这是工作示例 system time Parameters for the matrix t
  • 删除特定数据表上的所有边框

    我需要使用 PrimeFaces 隐藏一个数据表的所有边框 而不是全部 我尝试了很多事情 但没有人奏效 有谁知道该怎么做 我已将以下样式 单独 应用于ui datatable class border hidden important bo
  • 尝试读取 CSV 文件时出现“无法识别的字符串转义”

    我正在尝试导入一个 csv文件 以便我可以观看此视频 R ggplot2 图形直方图 http www youtube com watch v 47kWynt3b6M 我安装了所有正确的软件包 包括ggplot以及相关的包 视频中的第一个说
  • pyomo + 网状错误 6 句柄无效

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

    我在安装 CRAN 上的 twitteR 和 RAOuth 软件包时遇到一些问题 我尝试了几种不同的方法 在 Windows 下使用源代码 在 Ubuntu 下使用 RStudio 我尝试了以下命令 sudo apt get install
  • API 请求和curl::curl_fetch_memory(url, handle = handle) 中的错误:SSL 证书问题:证书已过期

    几天前 我运行了代码几个月 没有任何问题 GET url myurl query 今天我遇到一个错误 Error in curl curl fetch memory url handle handle SSL certificate pro
  • Purrr::map_df() 删除 NULL 行

    使用时purrr map df 我偶尔会传递一个数据框列表 其中一些项目是NULL 当我做 map df 返回行数少于原始列表的数据框 我想发生的事情是这样的map df calls dplyr bind rows 它忽略了NULL价值观
  • R 中的列乘以子字符串

    假设我有一个数据框 其中包含多个组件及其在多个列中列出的属性 并且我想对这些列运行多个函数 我的方法是尝试将其基于每个列标题中的子字符串 但我无法弄清楚如何做到这一点 下面是数据框的示例 Basket F Type 1 F Qty 1 F
  • r 中训练和测试数据的最小最大缩放/归一化

    我正在创建一个函数 它将训练集和测试集作为其参数 最小 最大缩放 标准化并返回训练集并使用这些same最小值和最小 最大范围的值 标准化并返回测试集 到目前为止 这是我想出的功能 min max scaling lt function tr
  • ddply 和aggregate 之间的区别

    有人可以通过以下示例帮助我了解聚合和 ddply 之间的区别 数据框 mydat lt data frame first rpois 10 10 second rpois 10 10 third rpois 10 10 group c re

随机推荐

  • 用猫鼬增加价值?

    我有一个mongoose我的模型node js应用程序 代表发票 我已经弄清楚了大部分内容 但我确实需要确保我的发票被编号 递增 以便能够为我的客户提供正确的参考 使用 SQL 数据库 我会创建一个AUTO INCREMENT列保存这个值
  • Spark 组由于内存不足问题

    我正在一个相当小的数据集 HDFS 中的 80 个文件 总共很少 上执行一个简单的 groupBy 我在纱线集群中的 8 台低内存机器上运行 Spark 即 spark submit master yarn client num execu
  • Tkinter 文本小部件设置选项卡

    我必须将文本小部件的选项卡大小设置为 4 个字符 当我做textwidget config tabs 4c 8c 我没有得到所需的结果 它的制表符很多 现在是 4 个字符 我在设置选项卡属性时做错了什么吗 另外 当我显示行号和列号时 我通过
  • 如何在 Three.js 中隐藏和显示场景中的对象

    我的场景中有一个由球体组成的物体 我有一个隐藏和显示按钮 我的程序流程就是这样的 例如 当我选择其中一个球体 我使用光线投射来选择球体 时单击隐藏按钮 该球体将被隐藏 然后单击显示按钮 它将显示出来 但我不知道该怎么做 我使用 Three
  • 从 javaScript 函数中的 WebSQL 查询返回 COUNT

    我想返回数据库中特定表的行数WebSQL里面一个javascript功能 下面是我的代码 function getCustomerCount var count 0 db transaction function tx tx execute
  • Prettier + Airbnb 的 ESLint 配置

    最近 我开始使用 Visual Studio Code 作为我的编辑器 并发现了 Prettier JavaScript 格式化程序 我认为这是一个很棒的插件 因为它可以帮助我让我的代码看起来很漂亮 我设置了 Airbnb 的 ESLint
  • 如何使用 php 在 facebook 中保存用户的个人资料图片

    您好 我正在尝试创建在其中使用用户个人资料图片的应用程序 所以我编写了从 Facebook 读取个人资料图片并将其保存在我的服务器上的代码 我使用以下代码 function GetImageFromUrl link ch curl init
  • rolling.apply 应用于需要多列数据帧以减少单列的自定义函数

    我正在尝试为我的内容创建一个附加列df newc 通过滚动 申请df cond 具有自定义功能 自定义函数需要两列df 我不知道如何让它发挥作用 I tried df newc df cond rolling 4 apply T corre
  • 检查资源中是否存在 ID (R.id.something)

    因此 我有代码使用 AtomicInteger 为多个元素生成 ID 该 AtomicInteger 默认设置为 Integer MAX VALUE 并且随着分配 ID 的每个视图从那里递减 所以第一个带有生成 ID 的视图将是Intege
  • “django 视图中出现未知列‘user_id’错误

    我遇到一个错误 我不确定是什么原因造成的 这是错误 Exception Type OperationalError Exception Value 1054 Unknown column user id in field list 有谁知道
  • Spring Data Mongo @Column 等效注释(@Property?)

    是否有与 JPA Column 注释等效的 SpringData Mongo 基本上 我有一个 POJO 其中有一个属性 我想用不同的名称将其存储在 Mongo 中 因此 以下对象 public class Pojo Property ba
  • 使用 imagemagick montage 命令将平铺图像粘合在一起,无需调整大小

    这似乎是一个相当常见的问题 所以我将使用我能想到的尽可能多的关键字来问它 我有一堆 嗯 九个 平铺 jpeg 带有标准平铺文件名 每个 jpeg 均为 220x175 像素 top row tile 1 0 0 jpg tile 1 1 0
  • 显示吸气剂

    我正在研究getters setters 一般的想法是它们是邪恶的 应该避免 您应该让对象完成工作并产生结果 阅读材料 为什么 getter 和 setter 方法是邪恶的 https www javaworld com article 2
  • ASP.NET,如何管理不同类型角色的用户

    我想创建一个包含不同用户的网站 用户可以有不同的角色 管理员和用户 这是一个有据可查的情况 但我还想根据用户的位置对用户进行分组 因此在每个位置我都可以拥有管理员和用户 多维角色系统 原因是 德国用户应该有权访问一组特定的文档 而意大利用户
  • 访问数组内的对象

    I m trying to access values inside Firebase array gt object 当我尝试访问 v for 内部的值时 它运行良好 但我不能这样做 postDetail author 它返回未定义 解决
  • 无法阻止 Visual Studio 2015 在 JS 文件中滞后数秒,提示“JavaScript 语言服务正在后台处理您的请求...”?

    在状态栏中 当我输入 Js 文件时 它会在键盘上显示此消息 并且编辑器挂起 2 或 3 秒 这大概当我将一些 Js 文件移动到类别文件夹中时突然开始发生但我不确定这是原因 我不知道是什么问题 在出现问题之前 所有 js 文件都位于同一文件夹
  • 如何访问 jquery ajax 调用返回的数据? $.ajax(...) 之外;

    我如何访问 jquery ajax 调用返回的数据 在 ajax 之外 Reloads the inital page function jobexist jobname var dataString jobname jobname var
  • Android O Gradle 构建因 travis ci 失败

    我正在尝试将 Travis CI 用于我的 Android 项目 但我的构建不断失败 但可以在本地构建上运行 我正在使用 Android Studio Preview 3 和 gradle 3 alpha 3 我在下面收到此错误 找不到 c
  • 如何删除正在执行的jar文件

    我创建了一个应用程序 在该应用程序中 它根据操作修改 jar 内的属性文件 我可以使用更新的更改创建一个新的临时 jar 但无法将 jar 文件重命名为现有的 jar 文件名 由于它正在运行 我无法删除和重命名它 任何人都可以提出任何操作或
  • data.table 中的条件连接?

    我有以下数据表 dtgrouped2 MonthNo Unique Total 1 1 AAA 10 2 1 BBB 0 3 2 CCC 3 4 2 DDD 0 5 3 AAA 0 6 3 BBB 35 7 4 CCC 15 8 4 AAA