Remplacer des caractères à l'aide de gsub, comment créer une fonction?
Je suis en train de remplacer des caractères dans un ensemble de données.cadre. J'ai une solution pour ce
> df <- data.frame(var1 = c("aabbcdefg", "aabbcdefg"))
> df
var1
1 aabbcdefg
2 aabbcdefg
> df$var1 <- gsub("a", "h", df$var1)
> df$var1 <- gsub("b", "i", df$var1)
> df$var1 <- gsub("c", "j", df$var1)
> df$var1 <- gsub("d", "k", df$var1)
> df$var1 <- gsub("e", "l", df$var1)
> df$var1 <- gsub("f", "m", df$var1)
> df
var1
1 hhiijklmg
2 hhiijklmg
>
mais je voudrais éviter d'utiliser plusieurs gsub d'appels, il serait beaucoup plus agréable pour produire une fonction pour faire cela à la fois?
Toutes les idées ho procéder?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez créer
from
etto
vecteurs:et puis vectorialize la
gsub
fonction:Qui donne:
from <- ("Mech", "Oper", "Eng") to <- ("Mechanical", "Operations", "Engineer") data.frame(var1 = c("Mech", "Mechanical Engineer", "Oper", "Operations"))
Vous voulez
chartr
:Si vous ne souhaitez pas utiliser chartr parce que les substitutions peuvent être plus d'un caractère, puis une autre option est d'utiliser gsubfn de la gsubfn paquet (je sais que ce n'est pas gsub, mais est une extension sur gsub). Voici un exemple:
Le remplacement peut également être une fonction qui permettrait de prendre le match et le retour de la valeur de remplacement pour ce match.