R 如何从数据框(选项链数据)计算每日总和
我试图在一个数据帧上计算每天的总量。数据框看起来像这样,它是一个选项链:R 如何从数据框(选项链数据)计算每日总和,r,R,我试图在一个数据帧上计算每天的总量。数据框看起来像这样,它是一个选项链: eod_date expiry type strike last bid ask volume 1 2015-05-11 2017-01-20 call 65.0 0.00 0.23 0.2 1 2 2015-05-11 2015-05-15 call 24.0 0.00 14.20 16.00 2 3 2015-05-12 2015-05-15 call
eod_date expiry type strike last bid ask volume
1 2015-05-11 2017-01-20 call 65.0 0.00 0.23 0.2 1
2 2015-05-11 2015-05-15 call 24.0 0.00 14.20 16.00 2
3 2015-05-12 2015-05-15 call 27.5 0.00 13.95 15.65 4
4 2015-05-12 2015-05-15 call 30.0 11.90 11.45 12.05 9
每日总量总和的计算输出应为如下数据框:
eod_date type volume
1 2015-05-11 call 3
2 2015-05-12 call 13
我还没有想出一个好办法来做这件事。我还想计算很多其他指标,但计算出这一指标将是实现其他指标的第一步,比如不同到期日的总量总和。谢谢 您可以使用聚合执行此操作:
您可以使用聚合执行此操作:
使用dplyr,您可以执行以下操作:
library(dplyr)
df %>% group_by(eod_date, type) %>% summarise(volume = sum(volume))
其中:
#Source: local data frame [2 x 3]
#Groups: eod_date
#
# eod_date type volume
#1 2015-05-11 call 3
#2 2015-05-12 call 13
使用dplyr,您可以执行以下操作:
library(dplyr)
df %>% group_by(eod_date, type) %>% summarise(volume = sum(volume))
其中:
#Source: local data frame [2 x 3]
#Groups: eod_date
#
# eod_date type volume
#1 2015-05-11 call 3
#2 2015-05-12 call 13
data.table选项将是
library(data.table)
setDT(df1)[,list(volume= sum(volume)) , list(eod_date, type)]
# eod_date type volume
#1: 2015-05-11 call 3
#2: 2015-05-12 call 13
data.table选项将是
library(data.table)
setDT(df1)[,list(volume= sum(volume)) , list(eod_date, type)]
# eod_date type volume
#1: 2015-05-11 call 3
#2: 2015-05-12 call 13