你可以将向量传递给可变参数吗?:将向量传递给sprintf

15

假设我有一个接受可变参数的函数,比如sprintf()。 我想要这样的功能:

sprintf("%s %s", "a", "b")

但是我有一个向量 c("a", "b"),如何使用类似以下调用的方式

sprintf("%s %s", c("a", "b"))

如果参数不足,会产生错误。许多语言提供了一种将向量“展平”为可变长度参数的方式。但我似乎找不到在R中执行此操作的语法。有没有办法?

1个回答

28
你可以使用do.call函数:
vec <- c("a","b")
do.call(sprintf, c(list("%s %s"), vec))
# [1] "a b"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接