如何在R中检查作为逻辑列表的列表的哪个元素为TRUE?

要检查作为逻辑列表的列表的哪个元素是 TRUE,我们可以按照以下步骤操作 -

  • 首先,创建一个具有逻辑值的列表。

  • 使用 which 函数和 unlist 函数来查找 TRUE 元素的位置。

创建列表

让我们创建一个列表,如下所示 -

List<-
list(TRUE,FALSE,TRUE,TRUE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE)
List

执行时,上述脚本生成以下内容output(this output will vary on your system due to randomization)-

[[1]]
[1] TRUE

[[2]]
[1] FALSE

[[3]]
[1] TRUE

[[4]]
[1] TRUE

[[5]]
[1] FALSE

[[6]]
[1] FALSE

[[7]]
[1] FALSE

[[8]]
[1] TRUE

[[9]]
[1] FALSE

[[10]]
[1] TRUE

[[11]]
[1] FALSE

[[12]]
[1] FALSE

[[13]]
[1] TRUE

[[14]]
[1] TRUE

[[15]]
[1] TRUE

[[16]]
[1] TRUE

[[17]]
[1] FALSE

[[18]]
[1] TRUE

[[19]]
[1] FALSE

[[20]]
[1] FALSE

[[21]]
[1] TRUE

[[22]]
[1] FALSE

[[23]]
[1] TRUE

[[24]]
[1] FALSE

[[25]]
[1] TRUE

找到 TRUE 元素的位置

取消列表元素的列表并使用哪个函数来查找列表中哪些元素为真 -

List<-
list(TRUE,FALSE,TRUE,TRUE,FALSE,FALSE,FALSE,TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE,TRUE,FALSE,FALSE,TRUE,FALSE,TRUE,FALSE,TRUE)
< which(unlist(List))

输出

[1] 1 3 4 8 10 13 14 15 16 18 21 23 25