#r #tidyverse
#r #tidyverse
Вопрос:
Данные
structure(list(fold = 1:10, .metric = c("roc_auc", "roc_auc",
"roc_auc", "roc_auc", "roc_auc", "roc_auc", "roc_auc", "roc_auc",
"roc_auc", "roc_auc"), .estimator = c("binary", "binary", "binary",
"binary", "binary", "binary", "binary", "binary", "binary", "binary"
), .estimate = c(0.747, 0.874, 0.764, 0.723, 0.73, 0.703, 0.789,
0.812, 0.81, 0.799)), class = "data.frame", row.names = c(NA,
-10L))
fold .metric .estimator .estimate
1 roc_auc binary .747
2 roc_auc binary .874
3 roc_auc binary .764
4 roc_auc binary .723
5 roc_auc binary .730
6 roc_auc binary .703
7 roc_auc binary .789
8 roc_auc binary .812
9 roc_auc binary .810
10 roc_auc binary .799
У меня есть этот фрейм данных, я хочу поместить сгиб в переменную, где оценка является наибольшей? Как именно я могу это сделать?
Итак, для этого примера я хотел бы поместить 2
в переменную.
Ответ №1:
Вы можете получить значение переменной, fold
для всех случаев, для которых estimate
оно наибольшее. Но это вернет несколько значений, если у вас есть несколько строк, достигающих одного и того же максимального значения.
df$fold[df$estimate==max(df$estimate)]
Если вам нужно только одно значение, даже если есть две максимальные оценки, вы можете использовать:
df$fold[df$estimate==max(df$estimate)][1]
Ответ №2:
также может работать
df.1 <- iris %>%
group_by(Species) %>%
summarise(
n = n(),
my.max = max(Sepal.Length, na.rm = TRUE))