[R] subsetting dataframe multiple conditions

Rui Barradas ruipbarradas at sapo.pt
Thu May 9 21:54:11 CEST 2013


Hello,

Em 09-05-2013 20:44, Sarah Goslee escreveu:
> Hi,
>
> On Thu, May 9, 2013 at 12:28 PM, KatrinH Heimann
> <katrinheimann at gmail.com> wrote:
>> Dear all,
>> I would like to subset a dataframe using multiple conditions.
>> So if I have two columns 1 and 2, I would like to EXCLUDE all rows in which
>> the value of column 1 is "a" AND the value of column 2 is "b".
>> I tried data[(data$column1 != "a" & data$column2 != "b"),] but that deletes
>> me every row in which either 1 is "a" or 2 is "b".
>
> Close: you have the negation in the wrong place:

Didn't see it, forget my previous mail, it has the same error.

Rui Barradas
>
>
>> fakedata <- data.frame(x1 = sample(letters[1:3], 10, replace=TRUE), x2 = sample(letters[1:3], 10, replace=TRUE), stringsAsFactors=FALSE)
>> fakedata
>     x1 x2
> 1   c  c
> 2   a  b
> 3   a  a
> 4   c  a
> 5   c  a
> 6   c  a
> 7   a  b
> 8   c  c
> 9   b  a
> 10  c  a
>> subset(fakedata, !(x1 == "a" & x2 == "b"))
>     x1 x2
> 1   c  c
> 3   a  a
> 4   c  a
> 5   c  a
> 6   c  a
> 8   c  c
> 9   b  a
> 10  c  a
>
>



More information about the R-help mailing list