R语言中按分组获取数据最大值的问题求助
解决分组求最大值的报错问题
你写的代码出错是因为group_by()之后直接用基础R的max()函数,它没法识别dplyr的分组结构,得用dplyr的聚合函数summarise()(或summarize(),两者通用)来包裹max(),这样才能按年份分组计算round的最大值。
正确代码如下:
df1 <- df %>% group_by(year) %>% summarise(max_round = max(round)) # 自定义结果列名为max_round,也可以写成round = max(round)
如果你的数据里round列存在NA值,记得加上na.rm = TRUE参数跳过缺失值,避免计算出NA:
df1 <- df %>% group_by(year) %>% summarise(max_round = max(round, na.rm = TRUE))
运行后就能得到包含年份和对应round最大值的结果了。
内容的提问来源于stack exchange,提问作者Jeff Aucone
相关产品推荐
相关产品推荐

