R:どのサブセット機能に選択式(この場合は文字列)のリストを渡すには?

StackOverflow https://stackoverflow.com/questions/2609647

  •  25-09-2019
  •  | 
  •  

質問

ここではいくつかの例のデータは次のとおりです。

data = data.frame(series = c("1a", "1b", "1e"), reading = c(0.1, 0.4, 0.6))

> data
  series reading
1     1a     0.1
2     1b     0.4
3     1e     0.6
私はサブセットを使用して、選択単一の行を引き出すことができます。

> subset (data, series == "1a")
  series reading
1     1a     0.1

と論理OR

を使用して複数の行を引き出します
> subset (data, series == "1a" | series  == "1e")
  series reading
1     1a     0.1
3     1e     0.6

しかし、私は、直列式の長いリストを持っている場合、私は、より良い方法でこのような何かにそれらを定義することを好むと思いますので、これは、入力に本当に迷惑を取得ます:

series_you_want = c("1a", "1e")  (although even this sucks a little)

と、このような何かを行うことができるよう、

subset (data, series == series_you_want)
上記は明らかに失敗し、私は確かにこれを行うための最善の方法は何であるかないんだけど?

役に立ちましたか?

解決

あなたはおそらくしたい%in%演算子

> dat <- data.frame(series = c("1a", "1b", "1e"), reading = c(0.1, 0.4, 0.6))
> series_you_want <- c("1a", "1e")
> subset(dat, series %in% series_you_want) 
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top