R 配对运动成绩&;各自的团队,如果主队赢了或输了,则创建一列

R 配对运动成绩&;各自的团队,如果主队赢了或输了,则创建一列,r,dataframe,dplyr,R,Dataframe,Dplyr,我有以下数据: Date Visitor GVisitor Home GHome Att. 1990-10-06 Winnipeg Jets 5 Edmonton Oilers 3 <NA> 您只需添加一列,其中包含逻辑测试的结果GHome>GVisitor 在base r中,如果您的数据帧称为df: df$Win <- df$G

我有以下数据:

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

您只需添加一列,其中包含逻辑测试的结果
GHome>GVisitor

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

df$Win <- df$GHome > df$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
set.seed(123)
测向仪(GVISTOR)
#GHome GVisitor Win
#1 13错误
#2 4 5错误
#3 2 3错误
#4.5.2正确
#5错
#6 0 2错误

请注意,平局会导致
FALSE
值,例如第5行。如果您希望以不同的方式处理此问题,请相应地更改逻辑测试。

太好了,谢谢。我的意图是使用“HomeWin”作为我的决策树结果,并预测运动成绩(从小开始,显然是ha)。谢谢@papelr您可能会对这篇关于主场优势的文章感兴趣:很棒的文章-同时也感谢dplyr的帮助!这给了我一个工作的结果。非常感谢!
new_df <- mutate(df, Win = GHome > GVisitor)
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