Я пытаюсь изменить значение переменной, используя dplyr::mutate()
. Я хочу изменить значение столбца «уверенность» с «неуверенный» на «вероятный», если идентификатор из символьного вектора находится в столбце идентификатора в наборе данных. Если он не совпадает, я хотел бы сохранить первоначальное значение. Вот пример моей текущей попытки:
library(dplyr)
library(magrittr)
data <- data.frame(
ID = c("a100", "b100", "c100", "d100", "e100", "f100"),
certainty = c("confirmed", "likely", "unsure", "likely", "unsure", "confirmed")
)
data %<>% as_tibble()
id_list <- c("c100", "e100")
data %<>%
mutate(certainty = if_else(id_list %in% ID, "likely", certainty))
Вывод должен выглядеть следующим образом:
ID certainty
<fct> <fct>
1 a100 confirmed
2 b100 likely
3 c100 likely
4 d100 likely
5 e100 likely
6 f100 confirmed
В настоящее время я получаю эту ошибку:
Error: `false` must be length 2 (length of `condition`) or one, not 6
Как я должен решить это?