Rの値のリストによってデータフレームをサブセット化する方法
次のいずれかの方法を使用して、R の値のリストによってデータ フレームをサブ定義できます。
方法 1: Base R を使用する
df_new <- df[df$my_column %in% vals,]
方法 2: dplyr を使用する
library (dplyr)
df_new <- filter(df, my_column %in% vals)
方法 3: data.table を使用する
library (data.table)
df_new <- setDT(df, key=' my_column ')[J(vals)]
次の例は、R の次のデータ フレームでこれらの各メソッドを実際に使用する方法を示しています。
#create data frame
df <- data. frame (team=c('A', 'B', 'B', 'B', 'C', 'C', 'C', 'D'),
points=c(12, 22, 35, 34, 20, 28, 30, 18),
assists=c(4, 10, 11, 12, 12, 8, 6, 10))
#view data frame
df
team points assists
1 to 12 4
2 B 22 10
3 B 35 11
4 B 34 12
5 C 20 12
6 C 28 8
7 C 30 6
8 D 18 10
方法 1: R ベースの値のリストによるデータ フレームのサブセット
次のコードは、チーム列に「A」または「C」の値を持つ行のみが含まれるようにデータ フレームをサブセット化する方法を示しています。
#define values to subset by vals <- c(' A ', ' C ') #subset data frame to only contain rows where team is 'A' or 'C' df_new <- df[df$team %in% vals,] #view results df_new team points assists 1 to 12 4 5 C 20 12 6 C 28 8 7 C 30 6
結果のデータ フレームには、[チーム]列に「A」または「C」の値を持つ行のみが含まれます。
この例では基本的な R 関数を使用したため、追加のパッケージをロードする必要がないことに注意してください。
方法 2: dplyr の値のリストによるデータフレームのサブセット
次のコードは、 dplyrパッケージのfilter()関数を使用して、チーム列に値が「A」または「C」を持つ行のみを含むようにデータ フレームをサブセット化する方法を示しています。
library (dplyr) #define values to subset by vals <- c(' A ', ' C ') #subset data frame to only contain rows where team is 'A' or 'C' df_new <- filter(df, team %in% vals) #view results df_new team points assists 1 to 12 4 5 C 20 12 6 C 28 8 7 C 30 6
結果のデータ フレームには、[チーム]列に「A」または「C」の値を持つ行のみが含まれます。
方法 3: data.table の値のリストによってデータフレームをサブセット化する
次のコードは、 data.tableパッケージの関数を使用して、チーム列に「A」または「C」の値を持つ行のみが含まれるようにデータ フレームをサブセット化する方法を示しています。
library (data.table) #define values to subset by vals <- c(' A ', ' C ') #subset data frame to only contain rows where team is 'A' or 'C' df_new <- setDT(df, key=' team ')[J(vals)] #view results df_new team points assists 1: A 12 4 2: C 20 12 3: C 28 8 4: C 30 6
結果のデータ フレームには、[チーム]列に「A」または「C」の値を持つ行のみが含まれます。
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。
R で因子水準によってデータ フレームをサブセット化する方法
R で日付範囲によってサブ定義する方法
R でデータ フレームのサブセットをプロットする方法