Comment pouvons-nous insérer une nouvelle ligne lors de l'utilisation de la fonction paste () ou de toute fonction qui concatène des chaînes dans R?
Il existe de nombreuses pages Web sur ce sujet, mais aucune ne répond clairement ou ne donne une solution qui fonctionne. Je précise que je ne veux pas utiliser la fonction cat , je dois travailler avec une chaîne de caractères. Voici toutes mes tentatives (dérivées de toutes les suggestions de différents forums), elles échouent toutes ...
msg <- "==================================================\n"
msg <- paste(msg, "Var:")
print(msg)
Production:
[1] "============================================== ====\n Var: "
msg <- "==================================================\n"
msg <- paste0(msg, "Var:")
print(msg)
Production:
[1] "============================================== ====\nVar: "
msg <- "=================================================="
msg <- paste(msg, "Var:", sep = "\n")
print(msg)
Production:
[1] "============================================== ====\nVar: "
msg <- sprintf("==================================================\n")
msg <- paste(msg, "Var:")
print(msg)
Production:
[1] "============================================== ====\nVar: "
Je crois que j'ai essayé tout ce que je pouvais ... Si vous avez une idée?!
Vous pouvez essayer strsplit
msg <- "==================================================\n"
msg2 <- paste(msg, "Var:")
strsplit(msg2, "\n")[[1]]
# [1] "=================================================="
# [2] " Var:"
Cela peut également être utilisé avec noquote
si vous ne voulez pas de guillemets.
noquote(strsplit(msg2, "\n")[[1]])
# [1] ==================================================
# [2] Var:
Cela produit pratiquement le même résultat que si vous deviez utiliser print
avec quote = FALSE
Vous pouvez également définir votre propre méthode d'impression
print.myClass <- function(x, ...) strsplit(x, "\n")[[1]]
class(msg2) <- "myClass"
print(msg2)
# [1] "=================================================="
# [2] " Var:"