2017-05-12 49 views
1

我有以下數據幀;數據幀中的時間總值

Date <- as.Date(c('2006-08-23', '2006-08-30', '2006-09-06', '2006-09-13', '2006-09-20')) 
order <- c("buy", "buy", "sell", "buy", "buy") 
cost <- c(10, 15, 12, 13, 8) 
df <- data.frame(Date, order, cost) 
df 
      Date order cost 
    1 2006-08-23 buy 10 
    2 2006-08-30 buy 15 
    3 2006-09-06 sell 12 
    4 2006-09-13 buy 13 
    5 2006-09-20 buy 8 

如何我可以考慮的日期和順序列,並獲得在這樣一個新的數據幀新的餘額列總和的費用列?

   Date order cost balance 
    1 2006-08-23 buy 10  10 
    2 2006-08-30 buy 15  25 
    3 2006-09-06 sell 12  13 
    4 2006-09-13 buy 13  26 
    5 2006-09-20 buy 8  34 

回答

2

假設你有一個排序的DF,「成本」是一個unsmart標籤,因爲我們將要產生的跡象顯示什麼實際成本是基於買入/賣出標誌。

df$cost[df$order == 'sell'] <- -df$cost[df$order == 'sell'] 

餘額然後是cumsum(df$cost)