>head(df)
person week target actual drop_out organization agency
1: QJ1 1 30 19 TRUE BB LLC
2: GJ2 1 30 18 FALSE BB LLC
3: LJ3 1 30 22 TRUE CC BBR
4: MJ4 1 30 24 FALSE CC BBR
5: PJ5 1 35 55 FALSE AA FUN
6: EJ6 1 35 50 FALSE AA FUN
数据集中存在大约30周的每周重复Person ID。R:根据四行组创建平均值列
我想看看每个人的价值观每周四个星期(如1-4周,5-9,10-13等)。对于这些块中的每一个,我想将所有“实际”列加起来,并将其除以“目标”列的总和。然后我们可以把这个价值放在一个名为“每月百分比”的列中。
按形状的建议,我已经创建了一个一个月柱像这样
fullReshapedDT$month <- with(fullReshapedDT, ceiling(week/4))
试图找出如何遍历月份列,现在计算平均值。尝试这样的事情,但它显然不工作:
fullReshapedDT[,.(monthly_attendance = actual/target,by=.(person_id, month)]
你究竟在哪里陷入困境?如果你提供了一个[可重现的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)(可能用假数据),这将有助于更好地说明问题。为样本输入提供所需的输出,以便测试可能的解决方案。如果您已经尝试自行完成此操作,请包含您的代码并描述您所处的位置。 – MrFlick
使用'ceiling(week/4)* 4'上的一些东西创建一个新列,然后将其组合在一起 – Shape
感谢您的想法Shape。现在就试试吧 – Parseltongue