【问题标题】:Max value of a column based on every unique value of another column (Dataframe)基于另一列的每个唯一值的列的最大值(数据框)
【发布时间】:2026-01-15 02:40:02
【问题描述】:

我正在尝试根据 id 的唯一值获取 y 的最大值。

id <- c("1", "1", "1", "2", "2", "2")
y <- c("2.43", "2.11", "2.31", "3.11", "2.12", "2.10")
output <- c("2.43", "2.43", "2.43", "3.11", "3.11", "3.11")

df <- data.frame(id, y, output)

  id    y output
1  1 2.43   2.43
2  1 2.11   2.43
3  1 2.31   2.43
4  2 3.11   3.11
5  2 2.12   3.11
6  2 2.10   3.11

任何帮助将不胜感激!

【问题讨论】:

    标签: r dataframe max unique


    【解决方案1】:

    我们可以使用group_by'id'

    library(dplyr)
    df %>%
        type.convert(as.is = TRUE) %>%   
        group_by(id) %>% 
        mutate(output = max(y))
    

    或与ave 来自base R

    df <- type.convert(df, as.is = TRUE)
    df$output <- with(df, ave(y, id, FUN = max))
    

    【讨论】:

    • 非常感谢@akrun !!
    最近更新 更多