R recode将所有非加工值替换为NA,有没有办法逃脱它

时间:2017-03-05 03:36:29

标签: r

我正在使用重新编码并且其工作正常,因为它替换了所有匹配值,但我不想替换其不匹配的值,有人可以请帮助

样本数据集

x <- c(1:5, NA)
[1]  1  2  3  4  5 NA

现在使用recode

recode(x, '1' = "Hello", .default = "World")
[1] "Hello" "World" "World" "World" "World" NA 

但这不是我的要求,我希望它只是改变&#39; 1&#39;但不是剩下的记录,它应该是那样的

[1]  "Hello"  2  3  4  5 NA

2 个答案:

答案 0 :(得分:0)

类型必须相同,因此它将是

recode(as.character(x), "1" = "Hello")
# [1] "Hello" "2"     "3"     "4"     "5"     NA     

但你也可以使用基础R replace()

replace(x, x == 1, "Hello")
# [1] "Hello" "2"     "3"     "4"     "5"     NA     

答案 1 :(得分:0)

我们可以使用作业

x[x==1] <- "Hello"
x
#[1] "Hello" "2"     "3"     "4"     "5"     NA