代码之家  ›  专栏  ›  技术社区  ›  dan

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

  •  0
  • dan  · 技术社区  · 7 年前

    这可能很简单。

    R ,我能换一个吗? if 条件字符(例如 > )有一个 character 然后执行 如果 statement 带着它?

    例如,如果 如果 陈述 是:

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

    但我得到了 > 通过变量的条件字符:

    cc <- ">"
    

    我该怎么写:

    IFELSE(1<2,“T”,“F”)
    

    更换 < 具有 cc ?

    0 回复  |  直到 7 年前
        1
  •  2
  •   Ronak Shah    7 年前

    因为它是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"