我想知道如何删除两个不同列中的值不同的行。这是一个示例来说明我的问题:
test.1 <- c("A", "B", "C", "D")
test.2 <- c("2009-02", "2009-04", "2010-01", "2011-02")
test.3 <- c("2009-02", "2009-08", "2010-01", "2013-06")
test.data <- data.frame(test.1, test.2, test.3)
这使:
test.1 test.2 test.3
1 A 2009-02 2009-02
2 B 2009-04 2009-08
3 C 2010-01 2010-01
4 D 2011-02 2013-06
我想删除test.2&test.3不相等的行,即第二行和第四行。我发现重复的功能
test.data.2 = test.data[!duplicated(test.data[,c('test.2', 'test.3')]),]
将删除test.2 = test.3的行。因此,我删除了“!” 如下:
test.data.2 = test.data[duplicated(test.data[,c('test.2', 'test.3')]),]
但它不起作用。您还有其他建议吗?非常感谢您的帮助
与tidyverse
:
library(tidyverse)
test.data %>%
filter(test.2 == test.3)
或基数R:
test.data[test.data$test.2 == test.data$test.3,]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句