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

从R中“call”类的对象中查找匹配项

  •  1
  • rnorouzian  · 技术社区  · 6 年前

    鉴于 函数调用 对象 a ,我想知道如何找到 n 为此 control T F ,以及如何知道 long 对于每一个这样的案例?

    例如,在下面的例子中,我希望 子集 31 32 35 作为 n个 控件为的 T型 30 33 34 作为 n个 控件为的 F型 .

    同样的道理 长的 . 换言之,我正在寻找 call 反对?

    foo <- function(n , long, control, ...){
    
     match.call()
    }
    
    # Example:
    a <- foo(n = 30:35, long = c(1, 2, 2, 3, 1,1), control = c(F, T, T, F, F, T))
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   akrun    6 年前

    如果我们需要从“a”中获得价值

    lst1 <- as.list(a)
    eval(lst1$n)[eval(lst1$control)]
    #[1] 31 32 35
    eval(lst1$n)[eval(lst1$control) & eval(lst1$long)==1]
    #[1] 35
    
    推荐文章