我有此数据:
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
答案 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行。如果希望以不同的方式处理该值,请相应地更改逻辑测试。