R で 2 つのベクトルを比較する方法 (例付き)
次の基本構文を使用して、R の 2 つのベクトルを比較できます。
#check if two vectors are identical identical(vector_1, vector_2) #display items that are in both vectors intersect(vector_1, vector_2) #display items that are only in first vector, but not in second vector setdiff(vector_1, vector_2)
次の例は、この構文を実際に使用する方法を示しています。
例 1: 2 つのベクトルが同じかどうかを確認する
次のコードは、 Identify()関数を使用して 2 つのベクトルが同一かどうかを確認する方法を示しています。
#definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')
#check if two vectors are identical
identical(vector_1, vector_2)
[1] FALSE
2 つのベクトルは同一ではないため、 FALSE値が返されます。
例 2: 両方のベクトルに存在する要素を検索する
次のコードは、 intersect()関数を使用して両方のベクトルに存在する要素を表示する方法を示しています。
#definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')
#display items that exist in both vectors
intersect(vector_1, vector_2)
[1] “Bob” “Carl” “Doug”
両方のベクトルに存在する 3 つの要素が示されています。
単に 2 つのベクトルに存在する要素の数を知りたい場合は、 length()関数を使用することもできます。
#find how many items exist in both vectors
length(intersect(vector_1, vector_2))
[1] 3
両方のベクトルに 3 つの要素が存在します。
例 3: 単一のベクトル内にのみ存在する要素を検索する
次のコードは、 setdiff()関数を使用して、最初のベクトルには存在するが 2 番目のベクトルには存在しない要素を表示する方法を示しています。
#definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')
#display items that exist in first vector, but not in second vector
setdiff(vector_1, vector_2)
[1] “Andy”
最初のベクトルには、2 番目のベクトルには存在しない要素が 1 つだけ存在します。
2 つのベクトルを反転して、2 番目のベクトルには存在するが最初のベクトルには存在しない要素を識別できます。
#definevectors
vector_1 <- c('Andy', 'Bob', 'Carl', 'Doug')
vector_2 <- c('Bob', 'Carl', 'Doug', 'Ethan', 'Fred')
#display items that exist in second vector, but not in first vector
setdiff(vector_2, vector_1)
[1] “Ethan” “Fred”
2 番目のベクトルには、最初のベクトルには存在しない 2 つの要素が存在します。
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。