関数 paste() またはR内の文字列を連結する任意の関数を使用するときに、どのように新しい行を挿入できますか?
このトピックには多くのWebページがありますが、明確に回答したり、機能する解決策を提供したりするものはありません。関数 cat を使いたくないのですが、文字列を処理する必要があります。ここにすべての私の試みがあります(別のフォーラムからのすべての提案から派生)、それらはすべて失敗します...
msg <- "==================================================\n"
msg <- paste(msg, "Var:")
print(msg)
出力:
[1]「============================================== ====\n Var: "
msg <- "==================================================\n"
msg <- paste0(msg, "Var:")
print(msg)
出力:
[1]「============================================== ====\nVar: "
msg <- "=================================================="
msg <- paste(msg, "Var:", sep = "\n")
print(msg)
出力:
[1]「============================================== ====\nVar: "
msg <- sprintf("==================================================\n")
msg <- paste(msg, "Var:")
print(msg)
出力:
[1]「============================================== ====\nVar: "
私はできる限りのことを試したと思います...アイデアがあれば!?
あなたはstrsplit
を試すことができます
msg <- "==================================================\n"
msg2 <- paste(msg, "Var:")
strsplit(msg2, "\n")[[1]]
# [1] "=================================================="
# [2] " Var:"
引用符が不要な場合は、noquote
と併用することもできます。
noquote(strsplit(msg2, "\n")[[1]])
# [1] ==================================================
# [2] Var:
これは、quote = FALSE
でprint
を使用した場合と実質的に同じ結果になります。
独自の印刷方法を定義することもできます
print.myClass <- function(x, ...) strsplit(x, "\n")[[1]]
class(msg2) <- "myClass"
print(msg2)
# [1] "=================================================="
# [2] " Var:"