【发布时间】:2013-05-30 21:42:36
【问题描述】:
这似乎是一个愚蠢的问题,但在花了一些时间寻找(简单的)解决方案之后,我找不到它。
我有一个向量列表:
l <- list(c(1, 2), c(5, 10))
我想测试给定的向量 --- 例如,c(1, 2) --- 是否在该列表中。我认为“直截了当”的方法会奏效:
c(1, 2) %in% l
但是会返回
[1] FALSE FALSE
最后我找到了以下解决方案:
any(sapply(l, function(x) { all(x == c(1, 2)) }))
但这很麻烦,所以我真的想知道这是否是最简单的选择。有没有更简单的方法来测试向量列表中的向量?
【问题讨论】:
-
一旦你将它包装在一个允许你搜索任何给定向量的函数中,就不会太麻烦了。那么你唯一的问题是考虑是否要使用
isTRUE(all.equal())或identical之类的东西。