Hi, I need some help with this one: how do I check whether a vector is already present in a list of vectors. I have seen %in% recommended in a similar case but that obviously does not work here. c(1,2,3) %in% list(c(1,2,3), c(4,5,6)) returns [1] FALSE FALSE FALSE which makes sense since 1, 2 or 3 are not elements of that list. I don't really know how to move from there though. Best wishes, Marcin
Test for list membership
5 messages · Marcin Wlodarczak, Henrique Dallazuanna, Uwe Ligges +2 more
Try this: list(c(1,2,3), c(4,5,6)) %in% list(c(1,2,3)) On Mon, May 30, 2011 at 10:36 AM, Marcin Wlodarczak
<mwlodarczak at uni-bielefeld.de> wrote:
Hi, I need some help with this one: how do I check whether a vector is already present in a list of vectors. I have seen %in% recommended in a similar case but that obviously does not work here. c(1,2,3) %in% list(c(1,2,3), c(4,5,6)) returns [1] FALSE FALSE FALSE which makes sense since 1, 2 or 3 are not elements of that list. I don't really know how to move from there though. Best wishes, Marcin
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Henrique Dallazuanna Curitiba-Paran?-Brasil 25? 25' 40" S 49? 16' 22" O
On 30.05.2011 15:36, Marcin Wlodarczak wrote:
Hi, I need some help with this one: how do I check whether a vector is already present in a list of vectors. I have seen %in% recommended in a similar case but that obviously does not work here. c(1,2,3) %in% list(c(1,2,3), c(4,5,6))
You said it yourself, almost: list(c(1,2,3)) %in% list(c(1,2,3), c(4,5,6)) Uwe Ligges
returns [1] FALSE FALSE FALSE which makes sense since 1, 2 or 3 are not elements of that list. I don't really know how to move from there though. Best wishes, Marcin
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
You almost solved your own problem with that last statement. Instead of comparing apples and oranges, you need to compare oranges and oranges:
list(c(1,2,3)) %in% list(c(1,2,3), c(4,5,6))
[1] TRUE
list(c(1,2,3)) %in% list(c(1,2,9), c(4,5,6))
[1] FALSE Sarah On Mon, May 30, 2011 at 9:36 AM, Marcin Wlodarczak
<mwlodarczak at uni-bielefeld.de> wrote:
Hi, I need some help with this one: how do I check whether a vector is already present in a list of vectors. I have seen %in% recommended in a similar case but that obviously does not work here. c(1,2,3) %in% list(c(1,2,3), c(4,5,6)) returns [1] FALSE FALSE FALSE which makes sense since 1, 2 or 3 are not elements of that list. I don't really know how to move from there though. Best wishes, Marcin
Sarah Goslee http://www.functionaldiversity.org
On 05/30/2011 04:14 PM, Uwe Ligges wrote:
On 30.05.2011 15:36, Marcin Wlodarczak wrote:
Hi, I need some help with this one: how do I check whether a vector is already present in a list of vectors. I have seen %in% recommended in a similar case but that obviously does not work here. c(1,2,3) %in% list(c(1,2,3), c(4,5,6))
You said it yourself, almost: list(c(1,2,3)) %in% list(c(1,2,3), c(4,5,6))
Brilliant! Thanks to everyone. Marcin