intersect for multiple vectors in R
[This article was first published on One Tip Per Day, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Say you haveWant to share your content on R-bloggers? click here if you have a blog, or here if you don't.
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 about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.