首页 > 解决方案 > 创建添加到目标编号的数据框的子组

问题描述

我想创建一个 ID 列,根据与目标值相关的每个值的总和来标识两组观察值

假设我有这个数据集:

id <- rep(1:5)
val <- c(1, 2, 4, 5, 6)

dat <- data.frame(id, val)

我计算val(=18) 的总和并除以 2 (=9)。然后,我想创建一个 ID 列,对观察结果进行分组,以便它们的总和等于(或尽可能接近)9。这个新列将是:

dat$group_id <- c(A, A, B, B, A)

假设在某些情况下没有精确的方法对观察进行分组以达到目标值,那么是否有一种好方法可以为多组观察自动执行此过程?

标签: rgrouping

解决方案


推荐阅读