如何在R中做printf?
我正在寻找如何做printf in r,ie我想input:
printf("hello %d\n", 56 )
并获得与input相同的输出:
print(sprintf("hello %d\n", 56 )
我读过以下链接:
- 在R中用print()打印换行符
- 用R打印信息有什么更漂亮的方法?
…所以我知道我可以使用cat("hello", 56)
,这可能是我会做的,但只是想知道是否有一些快捷的方式来写print(sprintf(...))
?
对不起,如果这个问题是重复的(我不知道)。 search'printf r'非常困难,因为它返回的结果是php,c,…
printf <- function(...) invisible(print(sprintf(...)))
外部invisible
呼叫可能是不必要的,我不是100%清楚如何工作。
我的解决scheme
> printf <- function(...) cat(sprintf(...)) > printf("hello %d\n", 56) hello 56
由Zack和mnel给出的答案打印回车符号作为文字。 不爽。
> printf <- function(...) invisible(print(sprintf(...))) > printf("hello %d\n", 56) [1] "hello 56\n" > > printf <- function(...)print(sprintf(...)) > printf("hello %d\n", 56) [1] "hello 56\n"
如果你想要一个打印的函数(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"
我这样做:
printf = function(s, ...) cat(paste0(sprintf(s, ...)), '\n')