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)

どのようにコーディングするのですか?for を使用しようとしましたが、機能しません。

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 : の同じベクトルを返します。が見つかったようなインデックス ( ) が必要な場合は、 でラップするだけです。次に例を示します。FALSE8k8which

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