A: 条件を満たす最初の行を見つける方法


次のメソッドを使用して、特定の基準を満たす R のデータ フレームの最初の行を検索できます。

方法 1: 条件を満たす最初の行を検索する

 #get first row where value in 'team' column is equal to 'B'
df[which(df$team == ' B ', arr. ind = TRUE )[1],]

方法 2: 複数の条件を満たす最初の行を検索する

 #get first row where 'points' column > 15 and 'assists' column > 10
df[which(df$points>15 & df$assists>10, arr. ind = TRUE )[1],]

方法 3: 多くの条件の 1 つを満たす最初の行を検索する

 #get first row where 'points' column > 15 or 'assists' column > 10
df[which(df$points>15 | df$assists>10, arr. ind = TRUE )[1],]

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'),
                 points=c(18, 13, 19, 14, 24, 21, 20, 28),
                 assists=c(5, 7, 17, 9, 12, 9, 5, 12))

#view data frame
df

  team points assists
1 to 18 5
2 to 13 7
3 A 19 17
4 B 14 9
5 B 24 12
6 C 21 9
7 C 20 5
8 C 28 12

例 1: 基準を満たす最初の行を検索します。

次の構文を使用して、チーム列の値が「B」に等しい最初の行を検索できます。

 #find first row where team is equal to 'B'
df[which(df$team == ' B ', arr. ind = TRUE )[1],] 

  team points assists
4 B 14 9

チーム列の値が「B」に等しい最初の行は、データ フレームの 4 行目であることがわかります。

例 2: 複数の条件を満たす最初の行を検索する

次の構文を使用して、 points列の値が 15 より大きく、 assists列の値が 10 より大きい最初の行を検索できます。

 #find first row where points > 15 and assists > 10
df[which(df$points>15 & df$assists>10, arr. ind = TRUE )[1],] 

  team points assists
3 A 19 17

ポイント列の値が 15 より大きく、アシスト列の値が 10 より大きい最初の行は、データ フレームの 3 行目であることがわかります。

例 3: 多くの条件の 1 つを満たす最初の行を検索する

次の構文を使用して、 points列の値が 15 より大きいか、 assists列の値が 10 より大きい最初の行を検索できます。

 #find first row where points > 15 or assists > 10
df[which(df$points>15 | df$assists>10, arr. ind = TRUE )[1],]

  team points assists
1 to 18 5

ポイント列の値が 15 より大きい、またはアシスト列の値が 10 より大きい最初の行が、データ フレームの最初の行であることがわかります。

: &|演算子はそれぞれ R の「and」と「or」を表します。

追加リソース

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

Rの各行の最大値を見つける方法
R の行の中央値を計算する方法
R の複数の列にわたって一意の行を見つける方法

コメントを追加する

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