我正在尝试根据值对列进行突变。但是不幸的是,列值被替换为一些随机值。关于我在哪里做错的任何线索。以下是我正在使用的代码
dataset %>%
mutate(Code = ifelse(Code == 80, 20, Code))
我希望答案是,如果代码= 80,则将其替换为20(如果未分配相同的值)。 但不幸的是,它被随机数代替。
答案 0 :(得分:1)
问题是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)