2011-09-10 3 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" 
관련 문제