首页 > 解决方案 > 大于 if_else 在 R 数据框中返回错误答案

问题描述

我在我的 R 数据框中发现了一个非常奇怪的问题。简而言之,我有一个公式应该比较一行中的两个分数,然后将获胜者放在一列中:

scores$Winner <- 
  ifelse(scores$Away_Score > scores$Home_Score, scores$Away_Team, scores$Home_Team)

这似乎在大多数情况下都有效,但是有一排较低的分数,而不是较高的分数,被报告为获胜者。我在下面有一个截图。获胜分数超过 100 分,这是唯一一个三位数的分数,所以我想知道这是否会以某种方式影响它。 在此处输入图像描述

我无法在我的实际代码之外复制这个问题,所以我能做的最好的就是提供我的实际代码,你可以在这里找到:

https://gist.github.com/jeffgswanson/6461f41c2ef1ca51e51aba3b377c9a1f

提前谢谢,我很难过。我检查了,列是数字的。另外,我尝试将 if_else 更改为 ifelse 并没有改善。

标签: rif-statementdplyr

解决方案


推荐阅读