【发布时间】:2021-09-14 06:19:11
【问题描述】:
j 表面接触后手的细菌浓度可以由以下递归关系决定:
H[j+1]=H[j]+T[j]*(S[j]-H[j])
其中S 是手接触的表面浓度(为方便起见,假设是随机的)。 T 是每个联系人的传输效率。我想计算最终的手牌浓度(起始浓度为零)。
我有一个数据框,其中包含一个表面接触向量和每个表面的传输效率。我有两个组a 和b 并且在每个组中假设我将依次触摸每个组1:length(df):
df <- data.frame(S = runif(10)*100, T = runif(10),g=rep(c("a","b"),each=5))
我想尽可能使用dplyr 按组计算H 的累积总和。
一种特殊情况:
如果g = "a",则H的起始值为0。
如果g=="b" 则H 的起始值是g=="a" 时的最后一个值
【问题讨论】:
-
不清楚
H在你的数据集中是什么。所以我认为如果你稍微修改一下你的问题会更好。 -
到目前为止,您尝试了哪些没有奏效的方法?目前尚不清楚您的代码将如何与方程式相关联,以及尝试实现它可能会出现什么问题
-
非常好的问题!
标签: r dplyr purrr rolling-computation accumulate