代码示例:
# 创建数字向量
vec <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)
# 定义每组最大和
max_sum <- 10
# 对向量进行分组
grouped_vec <- split(vec, cumsum(vec) %/% max_sum)
# 输出结果
grouped_vec
输出结果:
$`0`
[1] 1 2 3 4
$`1`
[1] 5 6
$`2`
[1] 7 8 9
以上代码将数字向量按预定义的最大组和进行了分组,分组结果保存在一个列表中,每组的数字和不超过预设的最大和。具体实现是通过使用 cumsum() 函数计算向量的累计和,并使用 %/% 运算符将累计和转换为组的编号,最后使用 split() 函数将向量分成对应组的子向量。
上一篇:按元组值对字典列表进行分组
下一篇:按预定义日期范围分组