Arrêtez de coller, commencez à « glue »
La fonction paste() concatène des chaînes avec un espace entre elles, donc paste("Hi", "there") produira "Hi there". Il existe aussi la fonction paste0() qui n’ajoute pas d’espace, le résultat serait donc "Hithere". Mais lorsque vous concaténez plusieurs chaînes et variables, vous vous retrouvez à écrire beaucoup de guillemets doubles " et de virgules ,, ce qui rend le code peu lisible. De plus, vous ne pouvez travailler qu’avec des variables déjà présentes.
Ce sont précisément les deux cas d’usage où la fonction glue() est très efficace. Vous pouvez soit travailler avec des variables disponibles dans l’environnement global, soit créer des variables à la volée. Dans cet exercice, vous allez voir en pratique la différence entre paste() et glue().
Cet exercice fait partie du cours
Expressions régulières intermédiaires en R
Instructions
- Recréez la phrase obtenue avec
paste0()en utilisantglue(). - Créez une variable temporaire
nqui stocke la longueur en caractères defirstnameet passez-la à la phrase en cours de création.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
firstname <- "John"
lastname <- "Doe"
paste0(firstname, "'s last name is ", lastname, ".")
# Create the same result as the paste above with glue
glue("___'s last name is ___.")
# Create a temporary varible "n" and use it inside glue
glue(
"The name {firstname} consists of ___ characters.",
___ = nchar(firstname)
)