3つ以上のベクトルの要素がRで等しいかどうかをすばやく確認するにはどうすればよいですか?

ダニエルフレッチャー

(これはすでに質問/回答されていると思います。そうであれば、申し訳ありませんが、回答を見つけることができません。)

6つのベクトルがあるとしましょう。各ベクトルの要素が他のすべてのベクトルの要素と等しいかどうかをすばやく確認するにはどうすればよいですか?

私は次のことができることを知っています、そしてそれは本当に面倒/先史時代/エラーが発生しやすいと感じます:

any(vec1 %in% vec2, vec1 %in% vec3, vec1 %in% vec4, vec1 %in% vec5, vec1 %in% vec6,
    vec2 %in% vec3, vec2 %in% vec4, vec2 %in% vec5, vec2 %in% vec6,
    vec3 %in% vec4, vec3 %in% vec5, vec3 %in% vec6,
    vec4 %in% vec5, vec4 %in% vec6,
    vec5 %in% vec6)

ありがとう。

ちなみに、複数のベクトルから共通の要素を見つける方法を確認しましたそしてそれは、ベクトルのいずれかからの要素が等しいかどうかではなくベクトルに存在する要素を識別する方法を求めているように見えます

アリステア

ベクトルをリストに入れると、次の操作が大幅に簡単になります。

# make sample data
set.seed(47)
x <- replicate(6, rpois(3, 10), simplify = FALSE) 

str(x)
# List of 6
#  $ : int [1:3] 16 12 10
#  $ : int [1:3] 9 10 6
#  $ : int [1:3] 10 14 4
#  $ : int [1:3] 7 6 4
#  $ : int [1:3] 12 8 7
#  $ : int [1:3] 7 11 8

今度はlapply:で繰り返します

lapply(x, function(y){sapply(x, function(z){y %in% z})})

## [[1]]
##      [,1]  [,2]  [,3]  [,4]  [,5]  [,6]
## [1,] TRUE FALSE FALSE FALSE FALSE FALSE
## [2,] TRUE FALSE FALSE FALSE  TRUE FALSE
## [3,] TRUE  TRUE  TRUE FALSE FALSE FALSE
## 
## [[2]]
##       [,1] [,2]  [,3]  [,4]  [,5]  [,6]
## [1,] FALSE TRUE FALSE FALSE FALSE FALSE
## [2,]  TRUE TRUE  TRUE FALSE FALSE FALSE
## [3,] FALSE TRUE FALSE  TRUE FALSE FALSE
## ...    ...  ...   ...   ...   ...   ...

これは各ベクトルの行列です。ここで、行はそれぞれのベクトルの要素であり、列はリスト内の各ベクトルであり、値はその要素がそのベクトルにあるかどうかを示します。明らかに、それぞれがそれ自体と一致するため、最初の要素の最初の列はすべてTRUEであり、2番目の要素の2番目の列も同様です。他TRUEのsは、ベクトル間の一致を示します。長さが一貫していない場合、行列ではなく同じ情報のネストされたリストが返されます。とにかくネストされたリストが必要な場合は、に変更sapplyしてくださいlapply

または、各ベクトルに一致するベクトルが必要な場合は、

str(lapply(x, function(y){which(sapply(x, function(z){any(y %in% z)}))}))

## List of 6
##  $ : int [1:4] 1 2 3 5
##  $ : int [1:4] 1 2 3 4
##  $ : int [1:4] 1 2 3 4
##  $ : int [1:5] 2 3 4 5 6
##  $ : int [1:4] 1 4 5 6
##  $ : int [1:3] 4 5 6

ここで、各要素にはまだ一致としてそれ自体が含まれています。whichインデックスの代わりにブール値を取り出します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

R-要素がベクトルのリストにあるかどうかを確認するにはどうすればよいですか?

分類Dev

Excelの2つの列の値が等しいかどうかをすばやく確認するにはどうすればよいですか?

分類Dev

2つのベクトル間の角度が外部か内部かを確認するにはどうすればよいですか?(3D空間で)

分類Dev

リストの最後の要素のいくつがPythonで等しいかを確認するにはどうすればよいですか?

分類Dev

いくつかの要素の1つが存在するかどうかを確認するにはどうすればよいですか?

分類Dev

分度器でいくつかの要素が表示されているかどうかを確認するにはどうすればよいですか?

分類Dev

2つ以上のリスト整数の違いを確認するにはどうすればよいですか?

分類Dev

DOM要素や属性が有効かどうかを確認するにはどうすればよいですか?

分類Dev

Json からの NULL 値をすばやく確認するにはどうすればよいですか

分類Dev

リストに連続して同じ値の2つの要素があるかどうかを確認するにはどうすればよいですか?

分類Dev

行列の要素がMATLABで偶数かどうかを確認するにはどうすればよいですか?

分類Dev

結果セットに1つ以上の行があるかどうかを確認するにはどうすればよいですか?

分類Dev

混合型引数がHackLangの整数のベクトルであるかどうかを確認するにはどうすればよいですか?

分類Dev

C ++ベクトルに特定の値(この場合は構造体)を持つ要素がすでに含まれているかどうかを確認するにはどうすればよいですか?

分類Dev

2つの配列を比較して、同じ要素がいくつあるかを確認するにはどうすればよいですか?

分類Dev

時間の重複をすばやく確認するにはどうすればよいですか?

分類Dev

2つの(大きな)要因が互いの再ラベル付けであるかどうかをすばやく確認するにはどうすればよいですか?

分類Dev

int配列の要素が空かどうかを確認するにはどうすればよいですか?

分類Dev

文字配列の要素が空かどうかを確認するにはどうすればよいですか?

分類Dev

3つの値が等しいかどうかをエレガントに確認するにはどうすればよいですか?

分類Dev

2つのトーチテンソルまたは行列が等しいかどうかを確認するにはどうすればよいですか?

分類Dev

配列に同じ未知の文字列が2つ以上含まれているかどうかを確認するにはどうすればよいですか?

分類Dev

カスタムクラスのベクトルがNULLかどうかを確認するにはどうすればよいですか?

分類Dev

2つのMapオブジェクトが等しいかどうかを確認するにはどうすればよいですか?

分類Dev

2つの行列が同じかどうかを確認するにはどうすればよいですか?

分類Dev

いくつかの既知の値に基づいてSharepointListItemが存在するかどうかを確認するにはどうすればよいですか?

分類Dev

リスト内のすべての要素が等しいかどうかを確認するにはどうすればよいですか?

分類Dev

bashスクリプトを使用して2つ以上のプログラムがインストールされているかどうかを確認するにはどうすればよいですか?

分類Dev

APLで2つの値が等しくないかどうかを確認するにはどうすればよいですか?

Related 関連記事

  1. 1

    R-要素がベクトルのリストにあるかどうかを確認するにはどうすればよいですか?

  2. 2

    Excelの2つの列の値が等しいかどうかをすばやく確認するにはどうすればよいですか?

  3. 3

    2つのベクトル間の角度が外部か内部かを確認するにはどうすればよいですか?(3D空間で)

  4. 4

    リストの最後の要素のいくつがPythonで等しいかを確認するにはどうすればよいですか?

  5. 5

    いくつかの要素の1つが存在するかどうかを確認するにはどうすればよいですか?

  6. 6

    分度器でいくつかの要素が表示されているかどうかを確認するにはどうすればよいですか?

  7. 7

    2つ以上のリスト整数の違いを確認するにはどうすればよいですか?

  8. 8

    DOM要素や属性が有効かどうかを確認するにはどうすればよいですか?

  9. 9

    Json からの NULL 値をすばやく確認するにはどうすればよいですか

  10. 10

    リストに連続して同じ値の2つの要素があるかどうかを確認するにはどうすればよいですか?

  11. 11

    行列の要素がMATLABで偶数かどうかを確認するにはどうすればよいですか?

  12. 12

    結果セットに1つ以上の行があるかどうかを確認するにはどうすればよいですか?

  13. 13

    混合型引数がHackLangの整数のベクトルであるかどうかを確認するにはどうすればよいですか?

  14. 14

    C ++ベクトルに特定の値(この場合は構造体)を持つ要素がすでに含まれているかどうかを確認するにはどうすればよいですか?

  15. 15

    2つの配列を比較して、同じ要素がいくつあるかを確認するにはどうすればよいですか?

  16. 16

    時間の重複をすばやく確認するにはどうすればよいですか?

  17. 17

    2つの(大きな)要因が互いの再ラベル付けであるかどうかをすばやく確認するにはどうすればよいですか?

  18. 18

    int配列の要素が空かどうかを確認するにはどうすればよいですか?

  19. 19

    文字配列の要素が空かどうかを確認するにはどうすればよいですか?

  20. 20

    3つの値が等しいかどうかをエレガントに確認するにはどうすればよいですか?

  21. 21

    2つのトーチテンソルまたは行列が等しいかどうかを確認するにはどうすればよいですか?

  22. 22

    配列に同じ未知の文字列が2つ以上含まれているかどうかを確認するにはどうすればよいですか?

  23. 23

    カスタムクラスのベクトルがNULLかどうかを確認するにはどうすればよいですか?

  24. 24

    2つのMapオブジェクトが等しいかどうかを確認するにはどうすればよいですか?

  25. 25

    2つの行列が同じかどうかを確認するにはどうすればよいですか?

  26. 26

    いくつかの既知の値に基づいてSharepointListItemが存在するかどうかを確認するにはどうすればよいですか?

  27. 27

    リスト内のすべての要素が等しいかどうかを確認するにはどうすればよいですか?

  28. 28

    bashスクリプトを使用して2つ以上のプログラムがインストールされているかどうかを確認するにはどうすればよいですか?

  29. 29

    APLで2つの値が等しくないかどうかを確認するにはどうすればよいですか?

ホットタグ

アーカイブ