A: ベクトル値に基づいてデータ フレーム内の行を選択する方法


次のいずれかの方法を使用して、ベクトルの値に基づいて R のデータ フレームから行を選択できます。

方法 1: Base R を使用する

 new_df <- df[df$column_name %in% values_vector, ]

方法 2: dplyr パッケージを使用する

 library (dplyr)

new_df <- df %>% filter(column_name %in% values_vector)

次の例は、R の次のデータ フレームで各メソッドを実際に使用する方法を示しています。

 #create data frame
df <- data. frame (division=c('West', 'West', 'East', 'East', 'North'),
                 points=c(120, 100, 104, 98, 105),
                 assists=c(30, 35, 64, 28, 23))

#view data frame
df

  assists points division
1 West 120 30
2 West 100 35
3 East 104 64
4 East 98 28
5 North 105 23

例 1: Base R を使用してベクトル値に基づいて行を選択する

次のコードを使用すると、元のデータ フレームから、分割列の値が「West」または「North」に等しい行のみを選択できます。

 #define values of interest
my_values <- c(' West ', ' North ')

#select rows that contain 'West' or 'North' in division column
new_df <- df[df$division %in% my_values, ]

#view results
new_df

  assists points division
1 West 120 30
2 West 100 35
5 North 105 23

新しいデータ フレームには、分割列の値が「West」または「North」に等しい行のみが含まれます。

例 2: dplyr を使用してベクトル値に基づいて行を選択する

R のdplyrパッケージのfilter()関数を使用して、元のデータ フレームから分割列の値が “West” または “North” に等しい行のみを選択することもできます。

 library (dplyr)

#define values of interest
my_values <- c(' West ', ' North ')

#select rows that contain 'West' or 'North' in division column
new_df <- df %>% filter(division %in% my_values)

#view results
new_df

  assists points division
1 West 120 30
2 West 100 35
3 North 105 23

新しいデータ フレームには、分割列の値が「West」または「North」に等しい行のみが含まれます。

: 基本の R メソッドと dplyr メソッドは同じ結果を生成します。ただし、非常に大きなデータ フレームを処理する場合は、dplyr メソッドの方が高速になる傾向があります。

追加リソース

次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。

dplyrを使用してRでランダムな行を選択する方法
Rで条件によって行を選択する方法
R の任意の列に値が表示される行を選択する方法

コメントを追加する

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