テキストと変数の内容を同じ行に印刷する方法はありますか?例えば、
wd <- getwd()
print("Current working dir: ", wd)
これを可能にする構文については何も見つかりませんでした。
paste
はprint
と一緒に使用できます
print(paste0("Current working dir: ", wd))
またはcat
cat("Current working dir: ", wd)
{glue}はもっと良い文字列補間を提供します、 私の他の答えを見てください 。また、Dainisが正しく述べているように、
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))
あるいはmessage
を使う
message("Current working dir: ", wd)
@ agstudyの答えがここに適しています
これを行う最も簡単な方法は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()
を使うこともできます
{glue}パッケージ は文字列補間を提供します。この例では、{wd}
は変数の内容に置き換えられます。複雑な式もサポートされています。
library(glue)
wd <- getwd()
glue("Current working dir: {wd}")
#> Current working dir: /tmp/RtmpteMv88/reprex46156826ee8c
2019年5月13日に Representxパッケージによって作成されました (v0.2.1)
印刷出力に[1]
アーティファクトと"
引用符が含まれていないことに注意してください。他の回答ではcat()
を使用します。
他のユーザーが言ったように、cat()がおそらく最善の選択肢です。
@krlmlrはsprintf()の使用を提案しましたが、現在3番目の回答です。 sprintf()はお勧めできません。 Rのドキュメントから:
フォーマット文字列はOSのsprintf関数に渡され、フォーマットが正しくないと後者はRプロセスをクラッシュさせる可能性があります。
Catや他のオプションの上にsprintf()を使用するのに十分な理由はありません。
あなたはRで文字列を変数値と組み合わせるためにpaste0またはcatメソッドを使うことができます
例えば:
paste0("Value of A : ", a)
cat("Value of A : ", a)