首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R:按不同列查找子集中的交集

R:按不同列查找子集中的交集
EN

Stack Overflow用户
提问于 2020-05-04 20:57:02
回答 4查看 35关注 0票数 0

我有一个类似下面的数据集age_structure

代码语言:javascript
运行
复制
MACHINE_NUMBER | MACHINE_KIND
         12345 | A
         12346 | A
         12347 | A
         12345 | B
         12348 | B

我需要以某种方式确定两个MACHINE_KIND子集中都有哪些MACHINE_NUMBER。在这种情况下,应该只出现12345。到目前为止,我已经尝试像这样设置数据框的子集,但是因为MACHINE_KIND列不在子集中,R抛出了一个错误:

代码语言:javascript
运行
复制
common_numbers <- Reduce(intersect, list(subset(age_structure$MACHINE_NUMBER, MACHINE_KIND == "A"), subset(age_structure$MACHINE_NUMBER, MACHINE_KIND == "B")))

object 'MACHINE_KIND' not found

age_structure名称定义为条件的一部分将运行代码而不会出错,但生成的common_numbers为空。

代码语言:javascript
运行
复制
common_numbers <- Reduce(intersect, list(subset(age_structure$MACHINE_NUMBER, age_structure$MACHINE_KIND == "A"), subset(age_structure$MACHINE_NUMBER, age_structure$MACHINE_KIND == "B")))

MACHINE_NUMBER和MACHINE_KIND都是因素。明智的做法是什么?

EN

Stack Overflow用户

发布于 2020-05-04 21:06:41

Base R一行:

代码语言:javascript
运行
复制
unique(Reduce(function(x, y){setdiff(x, y)}, split(df$MACHINE_NUMBER, df$MACHINE_NUMBER)))
票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61592708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档