用变量替换if语句的条件字符

时间:2019-04-26 00:25:21

标签: r variables if-statement conditional-statements

这可能很简单。

我可以在R中将if条件字符(例如>)替换为character并执行if statement用它吗?

例如,如果if statement是:

ifelse(1 < 2, "T", "F")

但是我通过一个变量得到了>条件字符:

cc <- ">"

我怎么写:

ifelse(1 < 2, "T", "F")

<代替cc

1 个答案:

答案 0 :(得分:2)

由于它是R中的关系运算符,因此我们可以使用match.fun

cc <- "<"
ifelse(match.fun(cc)(1, 2), "T", "F")
#[1] "T"

可以简化此ifelse,但我想这只是一个例子,您想做一些更复杂的事情。


您还可以使用eval(parse..获得所需的输出,但我不建议这样做

ifelse(eval(parse(text = paste(1, cc, 2))), "T", "F")
#[1] "T"