Sie können die matchFunktion verwenden. Hier wird match(x, y)der Index zurückgegeben, an ydem das Element von xübereinstimmt. Dann können Sie die zurückgegebenen Indizes verwenden, um einen anderen Vektor (z. B. z) zu unterteilen, der die Ersetzungen für die Werte von enthält x, die entsprechend mit übereinstimmen y. In Ihrem Fall:
mydata <- c("á","é","ó")
desired <- c('a', 'e', 'o')
desired[match(mydata, mydata)]
In einem einfacheren Beispiel betrachten wir die Situation unten, wo ich zu ersetzen versuchte , afür 'alpha', 'b'für 'beta'und so weiter.
x <- c('a', 'a', 'b', 'c', 'b', 'c', 'e', 'e', 'd')
y <- c('a', 'b', 'c', 'd', 'e')
z <- c('alpha', 'beta', 'gamma', 'delta', 'epsilon')
z[match(x, y)]
lapplyersetzen möchten , sollte dies möglich sein , aber da Sie verschiedene Muster durch unterschiedliche Zeichenfolgen ersetzen möchten, müssen Sie diese auf die eine oder andere Weise noch angeben ...