要素がリストにあるかどうかを取得するためにmatchを使用しています。たとえば、私のリストは次のとおりです。
c("a","b","h","e"...) and so on
要素hがリストにあるかどうかを確認したい場合は、次のようにmatchを使用しています。
if ("h" %in% v){do something}
リスト内の要素が見つかった場所の位置を取得するにはどうすればよいですか?ありがとう
位置の使用を知りたい場合which
l <- c("a","b","h","e")
which(l=='h')
[1] 3 # It'll give you the position, 'h' is the third element of 'l'
l
これはベクトルであり、前述のリストではないことに注意してください。
位置を知りたい場合は、以下を使用してmatch
ください。
l <- c("a","b","h","e")
match("h", l)
ここでは違いはありませんが、一般的にははるかに高速です。
このwhich
関数は、ベクトル内のどこでアイテムが「一致」するかを示します。は%in%
、最初の引数と同じ長さの論理ベクトルを返し、if
最初の論理値のみを参照するため、それ自体ではうまく機能しません。あなたはこれを行うことができます:
if( any("h" %in& v) ) { do something }
このany
関数を使用すると、次の結果を「折りたたむ」ことができます。%in%