【发布时间】:2020-03-07 20:14:51
【问题描述】:
我正在尝试使用dplyr::mutate() 更改变量的值。如果在数据集中的 ID 列中找到来自字符向量的 ID,我想将“确定性”列的值从“不确定”更改为“可能”。如果不匹配,我想保留原始值。这是我当前尝试的一个代表:
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
我应该如何解决这个问题?
【问题讨论】: