Используя данные, предоставленные @G. Гротендик, tidyverse
возможность:
DF %>%
gather(var, val, -Class) %>%
group_by(Class) %>%
summarise(Max = max(val, na.rm = TRUE),
Min = min(val, na.rm = TRUE))
Class Max Min
<chr> <dbl> <dbl>
1 A 13. 2.
2 B 17. 1.
Он преобразует данные из широкого в длинный и определяет минимальное и максимальное значение для «класса».
Или:
cols <- names(DF)[2:length(DF)]
DF %>%
group_by(Class) %>%
summarise(Max = max(pmax(c(!!! rlang::syms(cols)), na.rm = TRUE), na.rm = TRUE),
Min = min(pmin(c(!!! rlang::syms(cols)), na.rm = TRUE), na.rm = TRUE))
Во-первых, он определяет столбцы, которые вы хотите обобщить. Затем он суммирует максимум и минимум построчного максимума и минимума.
Или:
cols <- names(DF)[2:length(DF)]
DF %>%
rowwise() %>%
mutate(Max = max(c(!!! rlang::syms(cols)), na.rm = TRUE),
Min = min(c(!!! rlang::syms(cols)), na.rm = TRUE)) %>%
group_by(Class) %>%
summarise(Max = max(Max, na.rm = TRUE),
Min = min(Min, na.rm = TRUE))
Во-первых, он определяет столбцы, которые вы хотите обобщить. Во-вторых, он вычисляет построчный максимум и минимум выбранных столбцов. В-третьих, он группируется по «Классу» и суммирует максимум и минимум построчного максимума и минимума.
Не стандартный, но возможно Вы могли использовать Log4J appenders, чтобы сделать это.
SocketAppender позволяет Вам отправлять событие в удаленное лог-сервер. Можно также связаться через почту с помощью SMTPAppender (немного хитрый, но легкий реализовать). Я не знаю, существует ли какой-либо другой appender для общения с сервером через HTTP (Вы могли бы даже реализовать его в случае необходимости, я предполагаю, что это довольно легко).
Позволяет видят, есть ли у других пользователей в stackoverflow лучшая идея.
Взгляните на SNMP4J. Существует довольно много инструментов системного администрирования для агрегации, информация о SNMP (спросите системного администратора), и Простой протокол управления сетью разработан для контроля.
Если Вам только нужны ошибки, которые будут отправлены по почте Вам, можно также создать собственную платформу с JavaMail; не то, чтобы сложный и шаблонный код может быть помещен вне Вашей бизнес-логики.
Возможно, Ваши системы отслеживания ошибок позволяют МЫЛО/СООБЩЕНИЯ XML; затем Ось была бы подходящим вариантом, хотя она идет с довольно многими зависимостями.