46

r で printf を実行する方法を探しています。つまり、次のように入力します。

printf("hello %d\n", 56 )

次のように入力すると、同じ出力が得られます。

print(sprintf("hello %d\n", 56 )

次のリンクを読みました。

...だから私は を使用できることを認識しておりcat("hello", 56)、おそらくそれが私が行うことですが、何かショートカットの書き方があるかどうか疑問に思っていprint(sprintf(...))ますか?

この質問が重複している場合は申し訳ありません(わかりません)。「printf r」を検索するのは非常に困難です。これは、php、c、... の結果が返されるためです。

4

4 に答える 4

33
printf <- function(...) invisible(print(sprintf(...)))

外側のinvisible呼び出しは不要かもしれません、私はそれがどのように機能するかについて100%明確ではありません。

于 2012-10-23T03:54:53.533 に答える
4

print(sprintf(...))を実行する関数が必要な場合は、それを実行する関数を定義します。

printf <- function(...)print(sprintf(...))


printf("hello %d\n", 56)
## [1] "hello 56\n"
 d <- printf("hello %d\n", 56)
## [1] "hello 56\n"
d
## [1] "hello 56\n"
于 2012-10-23T03:54:48.043 に答える