Больше, чем if_else, возвращающий неправильный ответ в R фрейме данных

#r #if-statement #dplyr

#r #оператор if #dplyr

Вопрос:

Я нахожу очень странную проблему с моим 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, и это не улучшилось.

Комментарии:

1. можете ли вы проверить str(scores) . Может быть, эти типы не являются числовыми?

2. О, ничего себе, да, они «chr». Я вижу, что я сделал. В моем полном сценарии я меняю их на числовые, но это происходит ПОСЛЕ создания нового столбца, поэтому, когда я проверял, прежде чем он появился как числовой. Так что мне нужно добавить это в порядок. Спасибо @akrun!