0

我正在尝试根据两列中的值将函数应用于数据框的每个子集。以下示例是我的问题的简化表示。

说我有以下数据框

a=rep(1:5,each=5,times=5)
b=rep(c(2,6,9,10,12),each=25)
t=rep(seq(0,20,5),times=25)
df=as.data.frame(cbind(a,b,t))

t是一个时间步长。并且我想基于 a 和 b 值对每个子集应用一个连续函数(意味着我不能只在子设置之前为每一行应用函数,这将使任务更容易),即每个df[df$a==A & df$b==B,]whereA=1,..,5B=11,...,15. 例如

df[df$a==1 & df$b==12,]
    a  b  t
101 1 12  0
102 1 12  5
103 1 12 10
104 1 12 15
105 1 12 20

并且我想要使用的函数取决于所有三个变量(a, b and t)(例如,最后一步的结果a^2+b*t-c在哪里c,这就是为什么我不能在子设置之前为每一行应用该函数)。我尝试使用split/subsetapply. 但我无法解决。有人可以帮忙吗?

4

0 回答 0