2
我目前工作的一個data.table(myDT)與如下因素3列:計算市場份額中的R
TRADE_DATE TRADER VOLUME
01-MAY-2013 T1 100
01-MAY-2013 T2 200
01-MAY-2013 T3 500
01-MAY-2013 T4 200
02-MAY-2013 T1 400
02-MAY-2013 T2 500
02-MAY-2013 T3 50
02-MAY-2013 T4 50
我想找到一種方法來計算每一個交易量的份額天。目前我正在計算每天的總量,然後與前一個表合併,以計算每位交易員每天的市場份額。有沒有一種更直接的方式與data.tables做到這一點?
我重視herunder我的代碼:
daylyVolume<-myDT[,list(DAILY_VOLUME=sum(VOLUME)),by="TRADE_DATE"]
myDT<-merge(myDT,daylyVolume,all=TRUE,by='TRADE_DATE')
myDT$"SHARE_VOLUME"<-100*myDT$"VOLUME"/myDT$"DAILY_VOLUME"
結果如下:
TRADE_DATE TRADER VOLUME SHARE DAYLY_VOLUME
01-MAY-2013 T1 100 10 1000
01-MAY-2013 T2 200 20 1000
01-MAY-2013 T3 500 50 1000
01-MAY-2013 T4 200 20 1000
02-MAY-2013 T1 400 40 1000
02-MAY-2013 T2 500 50 1000
02-MAY-2013 T3 50 5 1000
02-MAY-2013 T4 50 5 1000
您可以添加示例數據以使您的示例具有可重現性嗎? – juba