【问题标题】:Find the value that makes maximum in R在 R 中找到最大的值
【发布时间】:2022-07-19 23:13:44
【问题描述】:

这里我做了一个简单的数据df来演示我想做什么。

df<-data.frame(id=c(2,3,6,8,12,34,27),
               points=c(2,3,5,9,19,2,3))

我的目标是找到最大points 的id。 在我的示例中,19 是最大点数,因此对应的id 是12。 在我的例子中,答案是微不足道的。但是,我想使用简单的 R 代码找到最大化 points 的 id。

【问题讨论】:

  • 试试with(df, id[which.max(points)])#[1] 12
  • 它有效!我想我可以使用它。

标签: r dataframe max


【解决方案1】:

这里有三种方式:

# Base R
df[df$points==max(df$points), "id"]

# dplyr
library(dplyr)
df  |>
    filter(points==max(points))  |>
    pull(id)

# data.table
library(data.table)
setDT(df)

df[points==max(points), id]

所有这些的输出都是12。

【讨论】:

    【解决方案2】:

    我们可以在base R中使用which.max

    with(df, id[which.max(points)])
    [1] 12
    

    【讨论】:

      猜你喜欢
      • 2012-12-28
      • 1970-01-01
      • 1970-01-01
      • 2016-03-16
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多