R 使用data.table计算分组总和除以总和
我有一些数据:R 使用data.table计算分组总和除以总和,r,data.table,R,Data.table,我有一些数据: Groups <- c("A","A", "B","B","B","A","B","A","A") Values <- c(1,2,5,2,1,4,6,1,2) DT <- data.table(Groups,Values) 组我想你知道这一点,但也有DT[,(calc=sum(Values)/sum(DT$Values)),组]或DT[,{total=sum(Values);.SD[,sum(Values)/total,by=Groups]]将避免复制数据表
Groups <- c("A","A", "B","B","B","A","B","A","A")
Values <- c(1,2,5,2,1,4,6,1,2)
DT <- data.table(Groups,Values)
组我想你知道这一点,但也有DT[,(calc=sum(Values)/sum(DT$Values)),组]
或DT[,{total=sum(Values);.SD[,sum(Values)/total,by=Groups]]
将避免复制数据表的名称;如果。
成功地转换为表达式,那么将来这可能会起作用:DT[,.SD[,sum(Values)/sum(…Values)],by=Groups]
total <- sum(DT$Values)
DT[,.(calc=sum(Values)/total), Groups]