如果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