Как найти максимальное значение в нескольких столбцах в R


Мы можем использовать функцию pmax() , чтобы найти максимальное значение для нескольких столбцов в R. Эта функция использует следующий синтаксис:

pmax(…, na.rm = ЛОЖЬ)

куда:

  • : Список векторов
  • na.rm: логическое указание, следует ли удалить отсутствующие значения. По умолчанию ЛОЖЬ.

В этом руководстве представлено несколько примеров использования этой функции на практике с использованием следующего фрейма данных:

#create data frame
df <- data.frame(player=c('A', 'B', 'C', 'D', 'E', 'F', 'G'),
 points=c(28, 17, 19, 14, 23, 26, 5),
 rebounds=c(5, 6, 4, 7, 14, 12, 9),
 assists=c(10, 13, 7, 8, 4, 5, 8))

#view DataFrame
df

 player points rebounds assists
1 A 28 5 10
2 B 17 6 13
3 C 19 4 7
4 D 14 7 8
5 E 23 14 4
6 F 26 12 5
7 G 5 9 8

Пример 1. Найдите максимальное значение в определенных столбцах

В следующем коде показано, как найти максимальное значение в столбцах точек и подборов во фрейме данных:

#find max values in each row across points and rebounds columns
pmax (df$points, df$rebounds)

[1] 28 17 19 14 23 26 9

Пример 2. Добавление нового столбца с максимальным значением

В следующем коде показано, как добавить во фрейм данных новый столбец, содержащий максимальное значение по столбцам точек и подборов:

#add new column that contains max values across points and rebounds columns
df$max_points_rebs <- pmax (df$points, df$rebounds)

#view data frame
df

 player points rebounds assists max_points_rebs
1 A 28 5 10 28
2 B 17 6 13 17
3 C 19 4 7 19
4 D 14 7 8 14
5 E 23 14 4 23
6 F 26 12 5 26
7 G 5 9 8 9

Пример 3: добавление нескольких новых столбцов, содержащих максимальные значения

В следующем коде показано, как добавить несколько новых столбцов во фрейм данных, содержащих максимальные значения для разных групп столбцов:

#add new column that contains max values across points and rebounds columns
df$max_p_r <- pmax (df$points, df$rebounds)

#add new column that contains max values across rebounds and assists columns
df$max_r_a <- pmax (df$rebounds, df$assists)

#view data frame
df

 player points rebounds assists max_p_r max_r_a
1 A 28 5 10 28 10
2 B 17 6 13 17 13
3 C 19 4 7 19 7
4 D 14 7 8 14 8
5 E 23 14 4 23 14
6 F 26 12 5 26 12
7 G 5 9 8 9 9

Дополнительные ресурсы

Как рассчитать среднее значение по группе в R
Как усреднить по столбцам в R
Как суммировать определенные столбцы в R