2016-07-25 39 views
0

如果我有包含日期​​和結果(W或L)的data.frame,如何使用結果創建結果記錄?舉例來說,如果我有:使用匹配結果創建贏/輸記錄

df 
     date  Result 
# 1 2015-04-12 W 
# 2 2015-04-10 W 
# 3 2015-04-09 W 
# 4 2015-04-08 W 
# 5 2015-04-08 L 
# 6 2015-04-07 W 
# 7 2015-04-06 L 

我怎樣才能得到的東西,如:

df 
     date  Result Wins Losses 
# 1 2015-04-12 W  5  2 
# 2 2015-04-10 W  4  2 
# 3 2015-04-09 W  3  2 
# 4 2015-04-08 W  2  2 
# 5 2015-04-08 L  1  2 
# 6 2015-04-07 W  1  1 
# 7 2015-04-06 L  0  1 

所有的「解決方案」,我想出的只是增加一個1到每一列取決於贏或失利。例如:

for(i in 1:dim(df)[1]) { 
    if(df$Result[i] == "W") { 
    df$Wins[i] <- + 1 
    } 
    if(df$Result[i] == "L") { 
    df$Losses[i] <- + 1 
    } 
} 

謝謝。任何和所有的幫助表示讚賞。

回答

0

試試這個

df$Wins <- rev(cumsum(rev(ifelse(df$Result=="W",1,0)))) 
df$Losses <- rev(cumsum(rev(ifelse(df$Result=="L",1,0)))) 
+0

工作出色。非常感謝,我很感激! –