【问题标题】:Can you pass a vector to a vararg?: Vector to sprintf你可以将向量传递给可变参数吗?:向量到 sprintf
【发布时间】:2011-11-14 04:34:58
【问题描述】:

假设我有一个接受可变参数的函数,例如 sprintf()。我想要类似的东西:

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

但我在向量 c("a", "b") 中有 "a" 和 "b"。

之类的调用
sprintf("%s %s", c("a", "b"))

参数不足会产生错误。许多语言提供了一种将向量“展平”为可变长度参数的方法。但我似乎在 R 中找不到这样做的语法。有没有办法?

【问题讨论】:

    标签: r vector printf


    【解决方案1】:

    你可以使用do.call:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      相关资源
      最近更新 更多