我可以将关系或条件用作函数中的变量吗?

问题描述

例如,让我们成为一个向量 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")