You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言:按姓名分组批量获取对应最大咖啡量的日期(循环实现)

批量提取每人咖啡饮用最多日期的解决方案

方法1:用dplyr包(高效简洁,适合大数据集)

如果没装过dplyr,先安装加载:

install.packages("dplyr")
library(dplyr)

读取数据并处理:

# 读取你的CSV数据
x <- read.csv(file.choose())

# 按姓名分组,筛选出每组咖啡量最大的记录
result <- x %>%
  group_by(Name) %>%
  filter(Coffees == max(Coffees)) %>%
  ungroup()

# 输出结果表格
print(result)

注:如果同一人有多天咖啡量同为最大值,上述代码会保留所有对应行。若只需保留一行,替换为slice_max:

result <- x %>%
  group_by(Name) %>%
  slice_max(Coffees, n = 1) %>%
  ungroup()

方法2:基础R实现(无需额外安装包)

用by()函数分组处理,再合并结果:

x <- read.csv(file.choose())

# 按姓名分组,提取每组咖啡量最大的行
max_records <- by(x, x$Name, function(group) {
  group[which.max(group$Coffees), ]
})

# 将分组结果转为数据框
result <- do.call(rbind, max_records)

# 重置行名(可选,让表格更整洁)
rownames(result) <- NULL

print(result)

示例输出表格

NameCoffeesDay
Tom5Monday
Mary4Wednesday
John6Friday

内容的提问来源于stack exchange,提问作者Anurag Mishra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 22:47:40