1

这是我的情况:

我有一个名为sc的列表

> sc
[[1]]
 [1]  1  6 11 16 21 26 31 36 41 46 51 52

[[2]]
 [1]  2  7 12 17 22 27 32 37 42 47 53 54

[[3]]
 [1]  3  8 13 18 23 28 33 38 43 48 55 56

[[4]]
 [1]  4  9 14 19 24 29 34 39 44 49 57 58

[[5]]
 [1]  5 10 15 20 25 30 35 40 45 50 59 60

[[6]]
[1] 61 62 63 64 65 66

然后我想检查 8 是否在其中sc[k] (k=1:6)

如何编码?我尝试使用但不工作。

4

1 回答 1

4

所有这些都应该起作用:

sapply(sc, `%in%`, x = 8)
sapply(sc, is.element, el = 8)
mapply(`%in%`, 8, sc)
mapply(is.element, 8, sc)

这些都返回相同的TRUEor向量FALSE:每个列表元素是否包含8。如果你想要的是这样的索引 ( k) where 8is found,只需用 包装它which,例如:

which(sapply(sc, `%in%`, x = 8))
于 2013-06-04T00:52:02.957 回答