R当2列具有不同的值时,对data.frame进行子集

时间:2014-09-13 19:16:12

标签: r dataframe subset

我有一个像这样的data.frame:

          Type1 rep1    Type2 rep2    stat p.value
    17    DqSAD    1 rnzDqSAD    9  3.7946  0.0101
    18    DqSAD    1    DqSAD   10 -0.5278  0.6428
    19    DqSAD    1 rnzDqSAD   10  0.4111  0.2231
    20 rnzDqSAD    1    DqSAD    2 -0.3111  0.5085
    21 rnzDqSAD    1 rnzDqSAD    2 -0.8904  0.9080

我想在列Type1&列时将其子集化。类型2具有不同的值。我的意思是以自动的方式,而不是明确地检查这个特定的值,如Type1 ==“DqSAD”& Type2 ==“rnzDqSAD”我记得这可以用sql完成,但我不知道如何在R中完成。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以通过查找Type1Type2!=逻辑运算符不相等的行来执行此操作。如果df是数据,

> df[with(df, Type1 != Type2), ]
#       Type1 rep1    Type2 rep2    stat p.value
# 17    DqSAD    1 rnzDqSAD    9  3.7946  0.0101
# 19    DqSAD    1 rnzDqSAD   10  0.4111  0.2231
# 20 rnzDqSAD    1    DqSAD    2 -0.3111  0.5085