R语言:按周分组生成对应最小day的price新列
R语言实现分组提取指定值创建新列
完整代码
library(dplyr) # 原始数据框 df <- data.frame(day = rep(1:7, 4), week = rep(1:4, each=7), price = round(runif(28), 2)) # 生成目标新列 df <- df %>% group_by(week) %>% mutate(price_day_1 = price[which.min(day)]) %>% ungroup()
代码说明
- 用
group_by(week)按周分组,确保后续计算以每个周为独立单元 - 在
mutate中,which.min(day)会定位到当前分组里day值最小的行(也就是day=1的行),通过price[索引]提取对应价格,赋值给新列price_day_1,分组内所有行都会填充这个统一值 - 最后用
ungroup()取消分组,避免后续操作受分组状态限制
内容的提问来源于stack exchange,提问作者Brendan
相关产品推荐
相关产品推荐

