2

私はデータフレームを持っていて、複数の条件を満たすサブセットを作成したい(またはそれらの行のみを選択したい)、例...

a <-data.frame(a=c("a","a","b","c","b","d"),b=c(1,2,3,4,2,3))
> a
  a b
1 a 1
2 a 2
3 b 3
4 c 4
5 b 2
6 d 3

列a == a | bおよび列b = 2 | 3のサブセットを作成したい。期待される出力

  a b
1 a 2
2 b 3
3 b 2  

私は次のような1つの条件に対して行うことができます

a[which(a[,"a"]=="a"),]

しかし、複数の条件をすべて 1 行に含めることは可能ですか?

4

3 に答える 3

8

a[(a$a %in% c('a', 'b')) & (a$b %in% c(2, 3)), ]

于 2012-09-28T17:54:17.297 に答える
3

を使ってみることができますdplyr

a <-data.frame(a=c("a","a","b","c","b","d"),b=c(1,2,3,4,2,3))

library(dplyr)
filter(a, (a == "a" | a == "b") & (b == 2 | b == 3))

出力:

  a b
1 a 2
2 b 3
3 b 2
于 2015-08-13T12:29:07.580 に答える
1

サブセット(a、(a%in%c('a'、'b'))&(b%in%2:3))

于 2012-09-28T17:58:38.930 に答える