以长格式计算分组总和的百分比

时间:2019-04-18 23:45:49

标签: r dataframe

提供表格:

        Date       SYMBOL ID
1       2019-03-12      A  1
2       2019-03-19      A  2
3       2019-03-20      A  1
4       2019-03-21      A  2
5       2019-03-22      A  1
6       2019-03-23      A  2

目标是在每行后面添加一列,以计算ID值占按符号分组的所有ID之和的百分比。

SUM(IDs) grouped by Symbol / ID

当前,我首先通过计算总和来实现

percentBase <- aggregate(ID~SYMBOL, data = df, FUN = sum)

然后使用Apply计算百分比

computePercentage <- function(row,output){
  as.integer(row[3]) / percentBase[percentBase$SYMBOL==row[2],2]
}

df$percentage <- apply(df,1,computePercentage)

使用apply并不断地进行铸造会花费很长时间并且效率低下。如何正确解决这一任务?

0 个答案:

没有答案