问题标签 [set-operations]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
242 浏览

database - DBIx::Class 中的设置操作

使用 DBIx::Class 执行集合操作的最佳方式是什么?我看到一种解决方案是根据我的查询创建一个结果源,但我的条件将由用户定义,我不知道最佳答案是否是动态创建结果源。

基本上我需要将这种类型的查询转换为 DBIC where codeattr_name并且value由用户定义:

0 投票
1 回答
979 浏览

r - 将集合操作从 R 的数据帧移植到数据表:如何识别重复行?

[更新 1:正如 Matthew Dowle 所指出的,我data.table在 R-Forge 上使用的是 1.6.7 版本,而不是 CRAN。您不会看到与早期版本相同的行为data.table。]

作为背景:我正在移植一些小实用函数来对数据框的行或数据框对(即每一行是集合中的一个元素)进行集合操作,例如唯一的 - 从列表、联合创建集合,交集,集差等。这些模仿 Matlab 的intersect(...,'rows'),setdiff(...,'rows')等,它们似乎在 R 中没有对应物(R 的集合操作仅限于向量和列表,但不限于矩阵行或数据帧)。这些小功能的示例如下。如果数据框的这个功能已经存在于某些包或基础 R 中,我愿意接受建议。

我一直在将这些迁移到数据表中,当前方法中的一个必要步骤是查找重复的行。执行时duplicated()返回错误,说明数据表必须有键。这是一个不幸的障碍——除了设置键,这不是一个通用的解决方案并增加了计算成本,还有其他方法可以找到重复的对象吗?

这是一个可重现的示例:

产生此错误消息:

尽管我用 pattern 命名了每个函数,但该代码对数据帧按原样工作dt_operation

有没有办法解决这个问题?设置键仅适用于整数,这是我不能为输入数据假设的约束。那么,也许我错过了一种使用数据表的聪明方法?


示例集合操作函数,其中集合的元素是数据行:


注意 1:这些辅助函数的一个预期用途是查找 x 中的键值不在 y 中的键值中的行。这样,我可以在计算x[y]或时找到 NA 可能出现的位置y[x]。尽管这种用法允许为z_rbind对象设置键,但我不想将自己限制在这个用例上。

注意 2:对于相关的帖子,这里有一篇关于在数据帧上运行的帖子,使用更新的包unique运行它的结果非常好。data.table这是关于在数据表上运行的早期帖子。unique

0 投票
1 回答
18402 浏览

r - R:如何从数据框的两行中找到元素的交集?

我刚刚开始使用 R,我想知道如何从数据框的两行中找到元素的交集。我试过了

但它给了我一个完全胡说八道的答案(绝对不在十字路口的东西,而忽略了在十字路口的东西)。

我应该如何解决这个问题?

0 投票
4 回答
1665 浏览

bash - 比较两个文件夹并将唯一条目复制/链接到新文件夹

如何将所有唯一文件从两个源文件夹复制到新的目标文件夹?

作为一组操作:如何计算两个文件夹之间的差异?

0 投票
4 回答
102054 浏览

python - Python中dict对象的联合

你如何计算dictPython 中两个对象的并集,如果(key, value)结果中存在一对,如果keyindict (除非有重复)?

例如,和的{'a' : 0, 'b' : 1}并集{'c' : 2}{'a' : 0, 'b' : 1, 'c' : 2}

最好您可以在不修改任一输入的情况下执行此操作dict。有用的示例:获取当前范围内所有变量及其值的字典

0 投票
6 回答
529 浏览

sql - 提取两个表中的不同记录

我有两张桌子 -table1table2. 两个表具有相同的列。

我想提取记录差异——意思是在table1not in 中提取记录,在not in 中table2提取记录。table2table1

我如何通过在 Oracle Sys 中使用 SQL 来做到这一点?

0 投票
2 回答
2752 浏览

java - 将一组分配给另一组,并在执行清除时。两组都被清除

1.最初创建了两个集合。2.将元素添加到一组。3.将一组分配给另一组。4.如果对一组调用清除,则两组都被清除。

任何人都可以帮助解决问题吗?

0 投票
3 回答
21826 浏览

python - 集合中的 union() 和 update() 与其他之间的区别?

Python 集有以下方法:

同样,还有这些:

依此类推,适用于所有标准的关系代数运算。

这里到底有什么区别?我看到它说 update() 版本返回 s 而不是新的集合,但是如果我写x = s.update(t),这是否意味着id(x) == id(s)?它们现在是否引用同一个对象?

为什么要实现这两组方法?它似乎没有添加任何重要的功能。

0 投票
2 回答
17076 浏览

sql - SQL 在 Oracle 的集合运算符中使用 to_char(null)、to_number(null) 等

我是第一次进入 SQL 世界的学生,我找不到任何关于如何使用 to_somedatatype(null) 替换 UNION、INTERSECT 等中缺失列的清晰易懂的文档。我正在使用 HR为我的前几个项目内置了 Oracle 数据库的架构,并且以下查询有效(我得到了一个只有那些有家属的员工的employee_id 编号列表):

但是,一旦我想包含员工的姓名和受抚养人的出生日期,我就被卡住了。此变体执行无错误搜索但不产生任何结果(输出“未选择行”):

将 to_date 替换为 to_number 或只是纯 null 和 to_char 替换为 to_varchar2 或 null 的几种变体无法生成任何行。

我想要为每个受抚养人制作一行,其中显示监护人的雇员编号、名字、姓氏和受抚养人的出生日期。我相信我的问题是这些空占位符的使用,以及对集合运算符的一般理解有限。(我的理解是,当我使用像 to_date(null) 这样的空占位符时,它不会包含在比较中,因为没有什么可以比较的。)

有人可以向我解释如何正确使用这些占位符吗?

0 投票
1 回答
92 浏览

mysql - 在相关/查找表上选择不相关的 id

我已经看到了各种各样的例子,但是我找不到一个明确的例子来说明如何在没有给定值的情况下返回所有与行无关table_A的行。我能找到的最接近的匹配是:table_Btable_A_Btable_A.idtable_B.id

  1. 获取A与一个或多个行不相关B但不知道 B 中的哪个值是问题的列表。

  2. 获取A与 given 无关的列表B

  3. 获取A以逗号分隔的无关字段列表B(不确定我是否看到了这一点,但似乎一个示例可以这样扩展)。

  4. A一个s 和s的列表,B彼此不相关,但没有指明哪个不相关。

我还可以获得所有潜在A_B元组的列表:

而且我可以假设对关联表使用一种EXCEPT解决方法(我认为),但是所有尝试都失败了,我想一旦该连接返回了数百万个潜在组合,它的效率无论如何都会低得多。

所以给定表值:

是否有会返回的查询:A | 乙 2 | 9 3 | 8 3 | 9

甚至更好:

还是这是自找麻烦?