A: 列が 2 つの値の間にある行をフィルターする方法


次のメソッドを使用して、特定の列が 2 つの値の間にある R のデータ フレームをフィルターできます。

方法 1: Base R を使用する

 df_new <- subset(df, points %in% 100 : 120 )

方法 2: dplyr を使用する

 library (dplyr)

df_new <- df %>% filter(between(points, 100 , 120 ))

これらの例はどちらも、 Points列の値が100120の範囲にある行のみを含むようにデータ フレームをフィルター処理します。

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

 #create data frame
df <- data. frame (team=c('Mavs', 'Pacers', 'Mavs', 'Celtics', 'Nets', 'Pacers'),
                 points=c(104, 110, 134, 125, 114, 124),
                 assists=c(22, 30, 35, 35, 20, 27))

#view data frame
df

     team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Celtics 125 35
5 Nets 114 20
6 Pacers 124 27

例 1: Base R を使用して列が 2 つの値の間にあるフィルター

R Base subset()関数で次の構文を使用して、ポイント列の値が 100 ~ 120 の行のみを含むようにデータ フレームをフィルターできます。

 #filter for rows where value in points column is between 100 and 120
df_new <- subset(df, points %in% 100 : 120 ) 

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Nets 114 20

ポイント列の値が 100 ~ 120 の行のみが保持されることに注意してください。

値がこの範囲外にある他の行はすべて削除されます。

例 2: dplyr を使用して列が 2 つの値の間にあるフィルター

R の dplyr パッケージのfilter()関数とbetween()関数で次の構文を使用して、ポイント列の値が 100 ~ 120 の範囲にある行のみを含むようにデータ フレームをフィルターできます。

 library (dplyr)

#filter for rows where value in points column is between 100 and 120
df_new <- df %>% filter(between(points, 100 , 120 ))

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Nets 114 20

ポイント列の値が 100 ~ 120 の行のみが保持されることに注意してください。

また、このメソッドは基本的な R メソッドと同じ結果を生成することにも注意してください。

: dplyr のフィルター関数の完全なドキュメントはここで見つけることができます。

追加リソース

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

%in% を使用して R のリスト内の値を持つ行をフィルターする方法
dplyrを使って複数の条件でフィルタリングする方法
dplyrを使用して特定の文字列を含む行をフィルタリングする方法

コメントを追加する

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