r - 如何检查列表是否包含 R 中的某个元素

标签 r list

我有以下 list

A = list(c(1,2,3,4), c(5,6,7,8), c(4,6,2,3,1), c(6,2,1,7,12, 15, 16, 10))
A
[[1]]
[1] 1 2 3 4

[[2]]
[1] 5 6 7 8

[[3]]
[1] 4 6 2 3 1

[[4]]
[1]  6  2  1  7 12 15 16 10

我想检查元素是否2是否存在每个列表。如果存在,那么我需要分配 1到相应的列表。

先感谢您。

最佳答案

@jasbner 的评论可以进一步细化为

1 * sapply(A, `%in%`, x = 2)
# [1] 1 0 1 1

在这种情况下 sapply返回一个逻辑向量,然后乘以 1 强制 TRUE1FALSE到 0。另外,因为语法是 x %in% table ,我们可以避免定义匿名函数 function(x) 2 %in% x而是像上面那样写。最后,使用 sapply而不是 lapply返回一个向量而不是一个列表,这似乎是你所追求的。

关于r - 如何检查列表是否包含 R 中的某个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53086053/

相关文章:

r - OS X Yosemite 升级后无法在 R 中加载 X11

r - 使用 tidyverse 或 dplyr 进行简单 mutate 引发的错误

java - 为什么需要 ListModel 对象?

R:rCharts 和 Shiny:人力车图不会显示

javascript - 如何在 Shiny 中保存带有绘制形状/点的传单 map ?

windows - R 控制台是我的母语,如何将 R 设置为英语?

html - 有序列表编号样式位置

python - 如何在 Python 中以特定方式重组列表

arrays - 如何找到列表中1的最长间隔[matlab]

ios - NSParagraphStyle iOS - 如何检测 block 和列表?