【发布时间】:2019-12-21 16:17:44
【问题描述】:
我有一个纵向记录的变量 (Var.1)。我想随着时间的推移计算累积平均值(或“正常”)变量。更重要的是,我只想在 Var.1 满足条件时更新累积平均值,在这种情况下,它是先前正常值的 >70%。如果满足,则应更新,如果不满足,则应结转先前的值。我一直在寻找矢量化解决方案,但不确定这是否可行。
我的示例数据如下。我已经输入了排除第 5 个条目 (50) 后的正常值,因为它不满足 >70% 规则。
library(tibble)
Sample.GT = tibble(Var.1 = c(80, 80,90,90,50,80,70, 80,80,80),
Normal = c(80, 80,83.33,85,85,84,81.67,81.43,81.25,81.11))
首选 Dplyr 或 data.table 解决方案。我希望通过跨大型数据集的组来实现这一点,因此快速解决方案是理想的。
【问题讨论】:
标签: r function dplyr data.table