2011-09-10 9 views
10

たとえば、sprintf()などの可変引数をとる関数があるとします。ベクトルをvarargに渡すことはできますか?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" 
関連する問題