2013-06-04 23 views
1

這裏是我的情況:R:檢查特定數量是否在名單

我有一個名爲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

所有這些都應該工作:

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

這些都返回TRUEFALSE同一矢量:每個列表元素是否包含8與否。如果你想要的是這些指數(k),其中8被發現,只是which包起來,例如:

which(sapply(sc, `%in%`, x = 8)) 
+0

謝謝!我總是遇到這些應用命令的問題。 –