我正在寻找如何在r中执行printf,即我想键入:
printf("hello %d\n", 56 )
Run Code Online (Sandbox Code Playgroud)
并获得与输入相同的输出:
print(sprintf("hello %d\n", 56 )
Run Code Online (Sandbox Code Playgroud)
我已阅读以下链接:
...所以我知道我可以使用cat("hello", 56)
,这可能就是我要做的,但只是想知道是否有一些快捷的写作方式print(sprintf(...))
?
对不起,如果这个问题是重复的(我不知道).搜索'printf r'非常困难,因为它返回php,c,...的结果
zwo*_*wol 30
printf <- function(...) invisible(print(sprintf(...)))
Run Code Online (Sandbox Code Playgroud)
外部invisible
呼叫可能是不必要的,我不是100%清楚它是如何工作的.
sta*_*010 17
我的解决方案
> printf <- function(...) cat(sprintf(...))
> printf("hello %d\n", 56)
hello 56
Run Code Online (Sandbox Code Playgroud)
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"
Run Code Online (Sandbox Code Playgroud)