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

问题描述 投票:0回答:1

这可能很简单。

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

例如,如果if statement是:

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

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

cc <- ">"

我该怎么写:

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

<取代cc

r variables if-statement condition
1个回答
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"
© www.soinside.com 2019 - 2024. All rights reserved.