【发布时间】:2021-06-23 14:40:21
【问题描述】:
我有一个这样的数据集 -
tibble(
year = c (2005, 2005, 2005,
2006, 2006, 2006,
2007,2007,2007),
var1 = c (2136,2136,2136,
2285,2285,2285,
2968,2968,2968),
var2 = c (125860,1318,127464,
8972,2136,5046,
4739,1619,10063)
)
我想像这样过滤数据集 -
首先按变量year 和var1 对数据进行分组,然后比较列var1 和var2,
如果发现var1和var2列中的值匹配,那么我想过滤所有它们。
对于示例数据集,如果我们查看,我们可以看到 2005 年的 var1 2136 与 2006 年的 var2 中的 2136 匹配。因此,我想过滤 2005 年和 2006 年的行,因为在这两列中 @987654331 @ 和 var2,它们有一个共同的值 - 2136。
所以预期的结果将如下所示 -
tibble(
year = c (2005, 2005, 2005,
2006, 2006, 2006
),
var1 = c (2136,2136,2136,
2285,2285,2285),
var2 = c (125860,1318,127464,
8972,2136,5046)
)
有人可以帮忙吗?
【问题讨论】:
-
您想通过
year和var1分组来完成什么?我认为这可以满足您的需求:df %>% filter(!var1 %in% var2) -
如果其中一个答案解决了您的问题,请accept it;这样做不仅为回答者提供了一些积分,而且还为有类似问题的读者提供了一些关闭。尽管您只能接受一个答案,但您可以选择对您认为有帮助的人进行投票。 (如果仍有问题,您可能需要编辑您的问题并提供更多详细信息。)