尝试在dplyr中使用ifelse

时间:2019-07-01 09:45:44

标签: r dplyr

我正在尝试根据值对列进行突变。但是不幸的是,列值被替换为一些随机值。关于我在哪里做错的任何线索。以下是我正在使用的代码

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

我希望答案是,如果代码= 80,则将其替换为20(如果未分配相同的值)。 但不幸的是,它被随机数代替。

1 个答案:

答案 0 :(得分:1)

问题是Codefactor。将其转换为characternumeric(转换为character之后)将解决此问题。显示的值是整数存储模式值

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

注意:列的类别可以从str本身中找到

str(dataset)

或使用

sapply(dataset, class)