I have a rather basic question. I have several values in a column that I would like to replace for a single one, for instance:
a<-data.frame(T=LETTERS[5:20],V=rnorm(16,10,1))
and I would like to change all "E", "S", "T" in T for "AB", so I tried
a[a$T==c("E","S","T")]<-"AB"
and it gives me several warnings, and ends up replacing all to "AB"
I think it has something to do with levels and level's labels but I was not able to replace only some of the values, I would have to re-label each. Sorry for the trouble, and thanks for any help!
You can use function recode()
from library car
to change values also for the factors.
library(car)
a$T<-recode(a$T,"c('E','S','T')='AB'")
If you need to replace different values with different other values then all statements can be written in one function call.
recode(a$T,"c('E','S','T')='AB';c('F','G','H')='CD'")