テキストと変数の内容を同じ行に印刷する方法はありますか?例えば、
wd <- getwd()
print("Current working dir: ", wd)
これを可能にする構文については何も見つかりませんでした。
テキストと変数の内容を同じ行に印刷する方法はありますか?例えば、
wd <- getwd()
print("Current working dir: ", wd)
これを可能にする構文については何も見つかりませんでした。
回答:
{glue}の方が文字列の補間が優れています。他の回答を参照してください。また、ダイニスが正しく述べているように、
sprintf()
問題がないわけではありません。
またありますsprintf()
:
sprintf("Current working dir: %s", wd)
コンソール出力に出力するには、cat()
またはを使用しますmessage()
。
cat(sprintf("Current working dir: %s\n", wd))
message(sprintf("Current working dir: %s\n", wd))
sprintf
は印刷しないことに注意してください。文字列をフォーマットするだけです。print(sprintf(...))のようなものがスクリプト内で必要です。
これを行う最も簡単な方法は、 paste()
> paste("Today is", date())
[1] "Today is Sat Feb 21 15:25:18 2015"
paste0()
次の結果になります:
> paste0("Today is", date())
[1] "Today isSat Feb 21 15:30:46 2015"
文字列とxの間にデフォルトの区切り文字がないことに注意してください。文字列の最後にスペースを使用すると、簡単に修正できます。
> paste0("Today is ", date())
[1] "Today is Sat Feb 21 15:32:17 2015"
次に、どちらかの関数を print()
> print(paste("This is", date()))
[1] "This is Sat Feb 21 15:34:23 2015"
または
> print(paste0("This is ", date()))
[1] "This is Sat Feb 21 15:34:56 2015"
他のユーザーが述べたように、あなたも使うことができます cat()
{糊}パッケージは、文字列補間を提供します。この例で{wd}
は、変数の内容で置き換えられます。複雑な式もサポートされています。
library(glue)
wd <- getwd()
glue("Current working dir: {wd}")
#> Current working dir: /tmp/RtmpteMv88/reprex46156826ee8c
reprexパッケージ(v0.2.1)によって2019-05-13に作成されました
印刷された出力に、他の回答が使用する[1]
アーティファクトと"
引用が含まれていないことに注意してくださいcat()
。
sep = ''
余分なスペースができます。