【发布时间】:2021-09-18 05:08:04
【问题描述】:
我需要根据 ID 是否包含一对关键字来对我的数据框进行子集化。我的数据是这样的:
Keyword | ID
CVa | 1
CVa | 2
CVa | 6
TST | 3
TST | 3
TST | 2
TST | 2
TST | 4
TST | 5
QFT | 1
QFT | 3
QFT | 6
我需要对所有具有 CVa 和 TST 或 CVa 和 QFT 关键字配对的行进行子集化。因此,例如,我想要 ID 为 1、2 和 6 的所有行。
这就是我现在所拥有的,但它并没有按照我需要的方式组合关键字。
CVaSubset <- subset(CleanKeys, subset = (CleanKeys$keyword == 'CVa' | CleanKeys$keyword == 'TST' | Cleankeys$keyword == 'QFT')
这是子集,但我没有得到我需要的组合。我也试过了:
CVaSubset <- subset(CleanKeys, subset = ( (CleanKeys$keyword == 'CVa' & CleanKeys$keyword == 'TST') |(CleanKeys$keyword == 'CVa' & Cleankeys$keyword == 'QFT')
我想我缺少 group_by 语句,但我不知道如何获得这两个关键字的组合。
编辑:
我在包含许多其他关键字的综合数据集上处理此代码并收到错误:
"Error: Can't subset columns that don't exist. x Columns CFC, CFC, CFC, CFC, CFC, etc. don't exist."
我解决了这个问题,但现在我在过滤步骤后收到错误:
x operations are possible only for numeric, logical or complex types
但是,我的一些关键字是连字符的,所以我认为这是问题所在。我把名字放在``里,我希望这能解决问题。
【问题讨论】: