如果5列(5-10)中的任何一列在我的列表中包含一個因子(keep.list),我想要創建兩個子集我的數據以及其中沒有任何列包含keep.list中的任何內容的列。這裏就是我到目前爲止,但不能讓它的子集的權利:基於列表中是否包含一個多個變量來設置數據
test.cols <- c(5:10)
keep.list <- c("dog","cat","mouse","bird")
data.sub.IN <- data.big[which(any(keep.list %in% data.big[test.cols])),]
data.sub.NOT.IN <- data.big[which(any(keep.list !%in% data.big[test.cols])),]
我覺得which()
和any()
可以幫助,但我可能是錯的,我不知道如何處理「不包含」情況下,如通常的!
命令不起作用。
使用'any'時which'你不需要'或'%in%'構造一個索引。並不是說你有一個特別完整的例子。我會認爲'任何'會將結果摺疊成一個單一的值,這不是我所理解的你想要的值。 – 2013-03-05 03:17:57