R で setdiff 関数を使用する方法 (例付き)
R のsetdiff()関数を使用すると、2 つのセット間の違いを見つけることができます。この関数は次の構文を使用します。
setdiff(x,y)
金:
- x、y:一連の要素を含むベクトルまたはデータ フレーム
このチュートリアルでは、この関数の実際の使用例をいくつか紹介します。
例 1: 数値ベクトルを使用した Setdiff
次のコードは、 setdiff()を使用して、ベクトルbに現れないベクトルaのすべての値を識別する方法を示しています。
#definevectors a <- c(1, 3, 4, 5, 9, 10) b <- c(1, 2, 3, 4, 5, 6) #find all values in a that do not occur in b setdiff (a,b) [1] 9 10
ベクトルaに現れ、ベクトルbに現れない値が9と10の 2 つあります。
setdiff()関数でベクトルの順序を逆にすると、代わりに、ベクトルaに現れないベクトルbのすべての値を識別できます。
#find all values in b that do not occur in a setdiff (b,a) [1] 2 6
ベクトルbには出現するが、ベクトルaには出現しない値が2つと6あります。
例 2: 文字ベクトルを使用した Setdiff
次のコードは、 setdiff()を使用して、 char2ベクトルに現れないchar1ベクトル内のすべての値を識別する方法を示しています。
#define character vectors char1 <- c('A', 'B', 'C', 'D', 'E') char2 <- c('A', 'B', 'E', 'F', 'G') #find all values in char1 that do not occur in char2 setdiff (char1, char2) [1] “C” “D”
例 3: データ フレームを使用した Setdiff
次のコードは、 setdiff()を使用して、2 番目のデータ フレームの同じ列に現れないデータ フレーム列内のすべての値を識別する方法を示しています。
#define data frames df1 <- data. frame (team=c('A', 'B', 'C', 'D'), conference=c('West', 'West', 'East', 'East'), dots=c(88, 97, 94, 104)) df2 <- data. frame (team=c('A', 'B', 'C', 'D'), conference=c('West', 'West', 'East', 'East'), dots=c(88, 97, 98, 99)) #find differences between the points columns in the two data frames setdiff (df1$points, df2$points) [1] 94 104
値94と104 は最初のデータ フレームのポイント列に表示されますが、2 番目のデータ フレームのポイント列には表示されないことがわかります。
追加リソース
R で特定の列を合計する方法
R の特定の行を合計する方法
Rで部分文字列マッチングを実行する方法