【问题标题】:Applying predicates on a list in R在 R 中的列表上应用谓词
【发布时间】:2011-05-01 13:15:05
【问题描述】:

给定 R 中的值列表,用给定的谓词函数过滤列表中的值的好方法是什么?

【问题讨论】:

    标签: list r predicate


    【解决方案1】:

    在 R 中是否有适当的列表对象或其他类型的对象(如 data.frame 或向量)并不完全清楚。假设你有一个真正的列表对象,我们可以结合lapplysubset 来做你想做的事。如果您没有列表,则不需要lapply

    set.seed(1)
    #Fake data
    dat <- list(a = data.frame(x = sample(1:10, 20, TRUE))
      , b = data.frame(x = sample(1:10, 20, TRUE)))
    
    #Apply the subset function over the list
    lapply(dat, subset, x < 3)
    $a
       x
    10 1
    12 2
    
    $b
       x
    4  2
    7  1
    14 2
    18 2
    
    #Example two
    lapply(dat, subset, x %in% c(1,7,9))
    $a
       x
    6  9
    8  7
    9  7
    10 1
    13 7
    
    $b
       x
    3  7
    7  1
    9  9
    15 9
    16 7
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-14
      相关资源
      最近更新 更多