2011-09-10 78 views
10

假設我有一個函數需要可變參數,比如sprintf()。我想要類似的東西:你能傳遞一個可變參數嗎?:Vector to sprintf

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

但我有向量c(「a」,「b」)中的「a」和「b」。撥打電話如

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

將產生沒有足夠參數的錯誤。許多語言提供了一種將矢量「扁平化」爲可變長度參數的方法。但我似乎無法在R中找到這樣的語法。有沒有辦法?

回答

17

您可以使用do.call

vec <- c("a","b") 
do.call(sprintf, c(list("%s %s"), vec)) 
# [1] "a b" 
相關問題