(This article was first published on

**One Tip Per Day**, and kindly contributed to R-bloggers)Say you have

`a <- c(1,3,5,7,9)`

b <- c(3,6,8,9,10)

c <- c(2,3,4,5,7,9)

A straightforward way to do the job is:

`intersect(intersect(a,b),c)`

More cleverly, and more conveniently if you have a lot of arguments:

`Reduce(intersect, list(a,b,c))`

The Reduce function is part of funprog {base}, which includes

Reduce(f, x, init, right = FALSE, accumulate = FALSE)

Filter(f, x)

Find(f, x, right = FALSE, nomatch = NULL)

Map(f, ...)

Negate(f)

Position(f, x, right = FALSE, nomatch = NA_integer_)

I will learn it and put notes here later.

To

**leave a comment**for the author, please follow the link and comment on their blog:**One Tip Per Day**.R-bloggers.com offers

**daily e-mail updates**about R news and tutorials on topics such as: Data science, Big Data, R jobs, visualization (ggplot2, Boxplots, maps, animation), programming (RStudio, Sweave, LaTeX, SQL, Eclipse, git, hadoop, Web Scraping) statistics (regression, PCA, time series, trading) and more...