используйте sprintf с вектором, а не с переменным числом аргументов в R - PullRequest
0 голосов
/ 31 августа 2018

Я хотел бы использовать функцию sprintf в R с переменным числом аргументов. Могу ли я связать эти аргументы вместе в символьном векторе или списке, чтобы избежать предоставления этих аргументов sprintf по отдельности?

Пример уточнит:

base_string = "(1) %s, (2) %s, (3) %s"
sprintf(base_string, "foo", "bar", "baz") # this works
sprintf(base_string, c("foo", "bar", "baz")) # this doesn't work

В Python я могу сделать это с помощью

base_string = "(1) %s, (2) %s, (3) %s"
base_string % ("foo", "bar", "baz")

1 Ответ

0 голосов
/ 31 августа 2018

Мы можем использовать do.call

do.call(sprintf, c(fmt = base_string, as.list(v1)))

данные

v1 <- c("foo", "bar", "baz")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...