【问题标题】:Putting column value in a variable depending on max value for another column根据另一列的最大值将列值放入变量中
【发布时间】:2020-12-03 10:53:00
【问题描述】:

数据

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 放在一个变量中。

【问题讨论】:

    标签: r tidyverse


    【解决方案1】:

    也可以使用

    df.1 <- iris %>%
      group_by(Species) %>%
      summarise(
        n = n(),
        my.max = max(Sepal.Length, na.rm = TRUE))
    

    【讨论】:

      【解决方案2】:

      对于estimate 最高的所有情况,您可以获得变量fold 的值。但是,如果您有几行达到相同的最大值,那将返回多个值。

      df$fold[df$estimate==max(df$estimate)]
      

      如果你只想要一个值,即使有两个最大估计值,你也可以使用:

      df$fold[df$estimate==max(df$estimate)][1]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-25
        • 2022-01-24
        • 2012-05-29
        • 1970-01-01
        • 2021-05-17
        相关资源
        最近更新 更多