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 の任意の列に値が表示される行を選択する方法