data1<-data.frame(x1=c("a","b"),x2=c("b","b"),x3=c("c","b"),x4=c("d","b"),stringsAsFactors=FALSE)
aaa<-as.character(data1[1,])
aaa
我想将\ M,b替换为\ N,其他人使用\ a在aaa向量中替换。怎么做?谢谢!
答案 0 :(得分:1)
简单的回答是:
aaa[aaa!="a"&aaa!="b"]<-"\\O"
aaa[aaa=="a"]<-"\\M"
aaa[aaa=="b"]<-"\\N"
但是你的问题似乎是你试图定义无法识别的符号,例如\ M。
答案 1 :(得分:1)
使用查找向量自动执行此操作:
vec <- setNames(c("\\M","\\N"),c("a","b"))
ifelse(aaa %in% names(vec),vec[as.character(aaa)],"\\O")
#[1] "\\M" "\\N" "\\O" "\\O"
答案 2 :(得分:1)
另一种矫枉过正的方法:
library(qdapTools)
lookup(aaa, list(`\\M`="a", `\\N` ="b"), missing = "\\O")
## [1] "\\M" "\\N" "\\O" "\\O"