A: 各行の最大値を持つ列を検索します。


次の構文を使用して、R のデータ フレームの各行の最大値を持つ列を検索できます。

 df$max_col <- colnames(df)[max. col (df, ties.method =' first ')]

tie.method=’first’引数は、指定された行に最大値を持つ列が複数ある場合に最初の最大列を返すように指定していることに注意してください。

代わりにランダムな最大列または最後の最大列を返したい場合は、この引数に指定できる他の値には、 randomおよびlast が含まれます。

次の例は、この構文を実際に使用する方法を示しています。

例: R の各行の最大値を持つ列を検索します。

R に、3 つの試合中に 6 人の異なるバスケットボール選手が獲得したポイント数に関する情報を含む次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (game1=c(23, 20, 14, 12, 19, 15),
                 game2=c(9, 10, 11, 13, 13, 15),
                 game3=c(29, 11, 22, 19, 14, 15))

#view data frame
df

  game1 game2 game3
1 23 9 29
2 20 10 11
3 14 11 22
4 12 13 19
5 19 13 14
6 15 15 15

データ フレームの各行の最大値を持つ列の名前を含む新しい列を作成するとします。

これを行うには、次の構文を使用できます。

 #create new column that contains column with max value for each row
df$max_col <- colnames(df)[max. col (df, ties.method =' first ')]

#view updated data frame
df

  game1 game2 game3 max_col
1 23 9 29 game3
2 20 10 11 game1
3 14 11 22 game3
4 12 13 19 game3
5 19 13 14 game1
6 15 15 15 game1

max_colという新しい列には、各行の最大値を持つ列の名前が含まれます。

例えば:

  • 最初の行には、 game3 に最大値が含まれています。
  • 2 行目では、 game1 に最大値が含まれています。
  • 3 行目では、 game3 に最大値が含まれています。

等々。

最後の行の各列の値は同じであることに注意してください。

max.col()関数でtie.method=’first’を指定したため、コードは最初の最大値列であるgame1を最大値を持つ列として返しました。

追加リソース

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

A: 複数の列にわたって一意の行を見つける方法
A: すべての欠損値を含む列を検索する方法
A: 列内で一意の値を見つける方法

コメントを追加する

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