2015-03-02 51 views
-4

我正在使用R足球結果轉化爲進球數

我在一欄(例如2-2)有足球結果。 我現在想要得到一個新的評分數目(例如4)。

我該怎麼做?

列A(A隊) 列B(B隊) 列C(結果) 列d(目標量) - >已被添加

+2

請提供的示例數據和預期的結果 – akrun 2015-03-02 10:33:49

回答

0

我假定你的意思是這樣的:

soc = data.frame(A = letters[1:10], 
       B = letters[11:20], 
       C = paste(sample(1:10),sample(1:10), sep = "-"), 
       stringsAsFactors = FALSE) 
soc$D = sapply(soc$C, function(x) sum(as.numeric(strsplit(x, split = "-")[[1]]))) 
soc 
0

您可以使用tidyR和dplyR包

library(tidyr); library(dplyr) 
df1 <- data.frame(Result=c("2-2", "4-1", "0-0")) 
df1 %>% separate(Result, c("team.A", "team.B")) %>% 
    mutate(ttl.Score = as.numeric(team.A) + as.numeric(team.B)) %>% 
    select(ttl.Score) 
+0

如果你想爲k eep所有列和新創建的ttl.Score從上面的代碼中刪除%>%select(ttl.Score) – 2015-03-02 15:10:50