【问题标题】:R - find cases in list of lists which meet specific conditionR - 在满足特定条件的列表列表中查找案例
【发布时间】:2023-01-04 01:56:25
【问题描述】:

我有一个很大的列表列表,每个案例包含三列 (TRUE/FALSE)。我想找出所有三列都为 TRUE 的情况。

示例数据:

l1 <- list( c("TRUE","FALSE","FALSE") , c("FALSE","FALSE","FALSE") , c("FALSE","FALSE","FALSE") )
l2 <- list( c("TRUE","TRUE","TRUE") , c("TRUE","TRUE","TRUE") , c("FALSE","FALSE","FALSE") )
l3 <- list( c("TRUE","TRUE","TRUE") , c("FALSE","FALSE","FALSE") , c("TRUE","FALSE","FALSE") ) 
mylist <- list(l1,l2,l3)

在输出中,我需要查看列表满足条件的情况,例如 l2[[1]] l3[[1]]

希望有人能帮忙!非常感谢您!

【问题讨论】:

    标签: r list


    【解决方案1】:

    也许这有帮助

     which(sapply(mylist, (x) sapply(x, (y) all(y == 'TRUE'))), arr.ind = TRUE)
    

    或使用

    lapply(mylist, (x) Filter((y) all(y == 'TRUE'), x))
    [[1]]
    list()
    
    [[2]]
    [[2]][[1]]
    [1] "TRUE" "TRUE" "TRUE"
    
    [[2]][[2]]
    [1] "TRUE" "TRUE" "TRUE"
    
    
    [[3]]
    [[3]][[1]]
    [1] "TRUE" "TRUE" "TRUE"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 2011-11-16
      • 2019-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多