【发布时间】:2013-03-05 02:46:09
【问题描述】:
如果 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或%in%构造索引时不需要which。并不是说你有一个特别完整的例子。我认为any会将结果折叠为一个值,这不是我理解的你想要的。