Мы можем использовать функцию 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