是否有一种惯用的方法将列表或向量拼接成函数作为参数?

时间:2013-03-07 13:07:36

标签: r

v <- runif(100, 0, 10)
seq(???(round(range(v))), length.out=5)

有便利功能???或者用其他方式用最少的击键来做到这一点 - 特别是在交互式工作时。

1 个答案:

答案 0 :(得分:6)

您正在寻找do.call

do.call(seq,c(round(range(v)),list(length.out=5)))

您需要使用c(...,list(OtherArgs))将所有参数合并到一个列表中。

但是,如果我想在交互式工作时用最少的击键来做这件事,我可能会以“硬”的方式做到这一点:

rv <- round(range(v))
seq(rv[1],rv[2],length.out=5)

(56次对51次击键,但要跟踪的嵌套括号越少,两个短命令可能比一次长命令容易)