将运动成绩和各自的球队配对,并在主队获胜或输掉的情况下创建专栏

时间:2018-06-20 21:38:04

标签: r dataframe dplyr

我有此数据:

            Date               Visitor GVisitor                  Home GHome Att.
      1990-10-06         Winnipeg Jets        5       Edmonton Oilers     3 <NA>

所有这些列都是单独的。我想创建一个“胜利”列,如果主队获胜,则给出“是”或“否”。因此,在这种情况下,喷气机队赢得了比赛,主队埃德蒙顿输了。如何将“是/否”结果放在自己的栏中?谢谢


GVisitor = number of goals visiting team scored

GHome = number of goals home team scored

Att. = attendance

1 个答案:

答案 0 :(得分:2)

您可以仅添加具有逻辑测试GHome > GVisitor

的结果的列

在基r中,如果您的数据帧称为df:

df$Win <- df$GHome > df$GVisitor

在dplyr中,您将使用mutate

new_df <- mutate(df, Win = GHome > GVisitor)

当主队比客队得分更多时,此列将显示TRUE

由于您拥有dplyr标签,因此以下是使用dplyr方法的一些示例数据和结果:

set.seed(123)
df <- data.frame(GHome = sample(0:5, 6, replace = TRUE), GVisitor = sample(0:5, 6, replace = TRUE))
mutate(df, Win = GHome > GVisitor)
#   GHome GVisitor     Win
# 1     1        3   FALSE
# 2     4        5   FALSE
# 3     2        3   FALSE
# 4     5        2    TRUE
# 5     5        5   FALSE
# 6     0        2   FALSE

请注意,平局会产生FALSE值,例如第5行。如果希望以不同的方式处理该值,请相应地更改逻辑测试。