translate {Hmisc} | R Documentation |
Uses the UNIX tr command to translate any character in old
in
text
to the corresponding character in new
. If multichar=T
or old
and new
have more than one element, or each have one element
but they have different numbers of characters,
uses the UNIX sed
command to translate the series of characters in
old
to the series in new
when these characters occur in text
.
If old
or new
contain a backslash, you sometimes have to quadruple
it to make the UNIX command work. If they contain a forward slash,
preceed it by two backslashes. The Microsoft Windows version of
translate
invokes the sedit()
function and does not allow
multichar=FALSE
, i.e., it does not support the UNIX tr
function.
The R version of translate
invokes the builtin chartr function if
multichar=FALSE
.
translate(text, old, new, multichar=FALSE)
text |
scalar, vector, or matrix of character strings to translate. |
old |
vector old characters |
new |
corresponding vector of new characters |
multichar |
See above. |
At present, multichar=FALSE
, which requires the UNIX tr
program, is not
implemented under MS Windows.
an object like text but with characters translated
unix, grep
translate(c("ABC","DEF"),"ABCDEFG", "abcdefg") translate("23.12","[.]","\\\cdot ") # change . to \cdot translate(c("dog","cat","tiger"),c("dog","cat"),c("DOG","CAT")) # S-Plus gives [1] "DOG" "CAT" "tiger" - check discrepency translate(c("dog","cat2","snake"),c("dog","cat"),"animal") # S-Plus gives [1] "animal" "animal2" "snake"