问题描述
例如,让我们成为一个向量 ttt <- c(1,5,7,2,6)
并假设我们想要一个 ttt
元素大于 2 的向量。那么我们必须写出 ttt[ttt>2]
。
我们可以有一个函数 TF_sequense(,)
,女巫通过写 TF_sequense(ttt,>2)
来做这件事吗?
我尝试了 this 问题中的 do.call()
函数,但找不到解决方案。
提前致谢!
解决方法
我们可以使用
TF_sequence <- function(vec,expr) {
obj1 <- deparse(substitute(vec))
eval(parse(text = sprintf("%s[%s%s]",obj1,expr)))
}
TF_sequence(ttt,">2")