为数据帧的所有子集应用函数

时间:2017-03-14 12:14:54

标签: r dataframe group-by subset split-apply-combine

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

说我有以下数据框

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值(即每个{{1)为每个子集应用连续函数(意味着我不能仅在子设置之前为每一行应用函数,这将使任务更容易)其中df[df$a==A & df$b==B,]A=1,..,5。 例如

B=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 / splitsubset等功能。但我无法解决它。有人可以帮忙吗?

0 个答案:

没有答案