假设我有一个带变量参数的函数,比如sprintf()。我想要这样的东西:
sprintf("%s %s", "a", "b")
但我在矢量c(“a”,“b”)中有“a”和“b”。一个叫
的电话sprintf("%s %s", c("a", "b"))
会因参数不足而产生错误。许多语言提供了一种将矢量“展平”为可变长度参数的方法。但我似乎无法在R中找到这样做的语法。有办法吗?
答案 0 :(得分:19)
您可以使用do.call
:
vec <- c("a","b")
do.call(sprintf, c(list("%s %s"), vec))
# [1] "a b"