# [R] Union of list elements

Gabor Grothendieck ggrothendieck at myway.com
Fri Dec 17 19:12:38 CET 2004

```Pat Meyer <paterijk <at> hotmail.com> writes:

:
: Hi,
:
: First of all, let me thank you all for replying so rapidly to my first
: question on this list. It was very very helpfull... and I'm learning R
: faster and faster.
:
: I just encountered a second problem, which may also have a simple solution.
:
: Here it is:
:
: In my program, a vector is a set of objects.
:
: I was looking for a way to store these sets in a big object. I chose to
: store them in a list.
:
: So now I have a list of vectors which looks as follows:
:
: []
:  "a1" "a3" "a4"
:
: []
:  "a1" "a4" "a5"
:
: []
:  "a1" "a5" "a6"
:
: Then comes a crucial step where I may have to add the vector ("a3", "a1",
: "a4") in this list.
:
: But as you can see, this set is already present (at position 1 of my list).
: So it should not be added. If I do a systematic concatenation, at the end, I
: have a list with too many vectors (where some elements of my list represent
: the same set).
:
: So what I would like to do is a type of Union, but I can't find a way to do
: it. Unions work only on vectors, and not a vector and a list of vectors.

L <- list(c("a1","a3","a4"), c("a1","a4","a5"), c("a1","a5","a6"))
newentry <- c("a3", "a1", "a4")
if (!any(sapply(L, setequal, newentry))) L <- c(L, list(newentry))

```