R 足球的结果是进球的数量

R 足球的结果是进球的数量,r,R,我用的是R 我在一列中有足球成绩(例如2-2)。 我现在想得到一个新的列,列中有进球数(例如4个) 我该怎么做 A栏(A队) B栏(B队) C列(结果) D列(目标数量)-->必须添加我想你的意思是这样的: soc = data.frame(A = letters[1:10], B = letters[11:20], C = paste(sample(1:10),sample(1:10), sep = "-"),

我用的是R

我在一列中有足球成绩(例如2-2)。 我现在想得到一个新的列,列中有进球数(例如4个)

我该怎么做

A栏(A队) B栏(B队) C列(结果)
D列(目标数量)-->必须添加

我想你的意思是这样的:

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

您可以使用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)
library(tidyr);图书馆(dplyr)
df1%单独(结果,c(“A队”、“B队”))%>%
变异(ttl.Score=as.numeric(团队A)+as.numeric(团队B))%>%
选择(ttl.分数)

请提供示例数据和预期结果如果要保留所有列和新创建的ttl.Score,请从上述代码中删除%>%select(ttl.Score)