R で %in% 演算子を使用する方法 (例付き)


R の%in%演算子を使用すると、要素がベクターまたはデータ フレームに属するかどうかを判断できます。

このチュートリアルでは、さまざまなシナリオでこの機能を使用する 3 つの例を示します。

例 1: ベクトルでの %in% の使用

%in%演算子を使用して、ベクトルの要素の数が別のベクトルに属するかを決定できます。

 #define two vectors of data
data1 <- c(3, 5, 7, 7, 14, 19, 22, 25)

data2 <- c(1, 2, 3, 4, 5)

#produce new vector that contains elements of data1 that are in data2
data1[data1 %in% data2]

[1] 3 5

35は、 data1というラベルが付いたベクトル内にあるdata2 というラベルが付いたベクトルの唯一の要素であることがわかります。

例 2: %in% を使用してデータ フレームをフィルタリングする

%in%演算子を使用して、特定の値を含むデータ フレーム内の行をフィルターすることもできます。

 #define data frame
df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'C'),
                 points=c(67, 72, 77, 89, 84, 97),
                 assists=c(14, 16, 12, 22, 25, 20))

#view data frame
df

  team points assists
1 A 67 14
2 A 72 16
3 B 77 12
4 B 89 22
5 B 84 25
6 C 97 20

#produce new data frame that only contains rows where team is 'B'
df_new <- df[df$team %in% c(' B '), ]
df_new

  team points assists
3 B 77 12
4 B 89 22
5 B 84 25

#produce new data frame that only contains rows where team is 'B' or 'C'
df_new2 <- df[df$team %in% c(' B ', ' C '), ]
df_new2

  team points assists
3 B 77 12
4 B 89 22
5 B 84 25
6 C 97 20

例 3: %in% を使用してデータ フレーム列を作成する

%in%演算子を使用して新しいデータ フレーム列を作成することもできます。

たとえば、次のコードは、チーム “A” と “C” を “East” として配置し、チーム “B” を “West” として配置するDivisionという新しい列を作成する方法を示しています。

 library (dplyr)

#define data frame
df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'C'),
                 points=c(67, 72, 77, 89, 84, 97),
                 assists=c(14, 16, 12, 22, 25, 20))

#view data frame
df

  team points assists
1 A 67 14
2 A 72 16
3 B 77 12
4 B 89 22
5 B 84 25
6 C 97 20

#create new column called division
df$division = if_else (df$team %in% c(' A ', ' C '), ' East ', ' West ')
df

  team points assists division
1 A 67 14 East
2 A 72 16 East
3 B 77 12 West
4 B 89 22 West
5 B 84 25 West
6 C 97 20 East

追加リソース

R で 2 つの列を 1 つに結合する方法
R でデータ フレームに行を追加する方法
R で 2 つの列を比較する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です