2015-03-02 116 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