Попытка использовать ifelse в dplyr - PullRequest
0 голосов
/ 01 июля 2019

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

dataset %>%
  mutate(Code = ifelse(Code == 80, 20, Code))

Я ожидаю ответа, если код = 80 заменит его на 20, если не назначить такое же значение.Но, к сожалению, его заменили случайными числами.

1 Ответ

1 голос
/ 01 июля 2019

Проблема в том, что Code равно factor.Преобразование в character или numeric (после преобразования в character) решит проблему.Значения, которые отображаются, представляют собой целочисленное значение режима хранения

library(dplyr)
dataset %>%
   mutate(Code = ifelse(as.character(Code) == 80, 20, as.character(Code)))

ПРИМЕЧАНИЕ. Класс столбцов можно найти в самом str `

str(dataset)

или использовать

sapply(dataset, class)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...