Как создать два кумулятивных столбца на основе вывода условия из другого столбца? - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь перебрать строки моего информационного кадра и добавить 1 в столбец «Выиграл» или «Потеря» на основе столбца «Результат» в информационном кадре.Мне нужно, чтобы он печатал строку данных после каждого цикла кода.

Я пытался использовать функцию cumsum (), но мне нужно, чтобы она зависела от символа Result (Won or Lost), ноЯ терпел неудачу каждый раз.Я также попробовал цикл for, и ближе всего я подошел к решению этой проблемы, распечатав новый набор данных с общим количеством совпадений, сыгранных в столбце выигрышей.

for (row in 1:nrow(Dylan)) {
if( Dylan$Result == "Won") {Dylan$Won = Dylan$Won + 1}
else {Dylan$Lost = Dylan$Lost + 1}
}


Here are the errors I get:
In if (Dylan$Result == "Won") { ... :
the condition has length > 1 and only the first element will be used
2: In if (Dylan$Result == "Won") { ... :
the condition has length > 1 and only the first element will be used

Мне нужен новый кадр данных, чтобы показатьпостоянные добавления к каждому столбцу выигрыша и проигрыша, поэтому столбцы увеличиваются по строкам, а не просто показывают общее количество выигрышей и общее количество потерь в каждом ряду.

1 Ответ

0 голосов
/ 23 апреля 2019

делает эту работу:

for (row in 1:nrow(Dylan)) {
  if (Dylan$Result[row] == "Won") {
    Dylan$Won = Dylan$Won + 1
  } else {
    Dylan$Lost = Dylan$Lost + 1
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...