【发布时间】:2021-10-04 08:07:36
【问题描述】:
我正在为班级清理数据集。我注意到有一些负值。某些具有此条件的行在第 2 列和第 3 列中也具有相同的 id 名称。
我被难住了。我正在尝试起草一个代码,但不确定我应该从哪里开始。我很想得到建议。我找不到类似的东西。
下面是一个与我的表类似的示例表。
df <- data.frame(A=c(1,2,4,7,8), B=c(2,2,4,9,9), C=c(0,1,5,3,4))
我是否使用嵌套在 filter() 中的 ifelse ()?我想过滤一个没有在 A 列和 B 列中具有重复值的行的数据表。以上面的表为例,什么代码会导致取回第 1、4 和 5 行?
(抱歉,上面的示例一直以代码而不是表格的形式出现。)
【问题讨论】:
-
我不明白你的过滤逻辑。根据什么条件,您要取消第 2 行和第 3 行?您是否正在寻找
df %>% filter(A != B)和包裹dplyr? -
如果您只想过滤第 2 行和第 3 行,请执行以下操作:
df[-c(2:3), ]。否则你需要指定过滤逻辑。 -
嗨,为了澄清,我发现我的一些行有重复的列。如果我使用 filter(),人们会建议我如何过滤在 A 列和 B 列中没有重复的行?
-
@TimTeaFan 我没有考虑过索引。我会查找并了解更多信息,谢谢!
-
@MartinGal 哦!我没有考虑布尔值!我现在要试试。谢谢!
标签: r if-statement data.table boolean filtering