📅  最后修改于: 2023-12-03 15:04:46.001000             🧑  作者: Mango
在R中,我们经常需要找出两个或者多个向量之间的共同元素。本文将介绍如何使用内置函数和自定义函数来完成此任务。
内置函数intersect可以用于从两个向量中筛选出共同的元素。例如,我们有两个向量x和y:
x <- c(1, 3, 5, 7, 9)
y <- c(2, 4, 6, 8, 9)
我们可以使用intersect函数来找出这两个向量中共同的元素:
intersect(x, y)
输出结果为:
[1] 9
这意味着向量x和y中共同有9这一个元素。
我们也可以编写自定义函数来查找任意数量向量共同的元素。以下是一个示例函数:
find_common_elements <- function(...) {
vectors <- list(...)
result <- vectors[[1]]
for(i in 2:length(vectors)) {
result <- intersect(result, vectors[[i]])
}
return(result)
}
这个函数接受任意数量的向量作为输入,并且使用intersect函数来查找这些向量之间的共同元素。以下是使用这个函数的示例:
a <- c(1, 2, 3, 4, 5)
b <- c(2, 3, 5, 6, 7)
c <- c(3, 4, 5, 8, 9)
find_common_elements(a, b, c)
输出结果为:
[1] 3 5
这意味着向量a、b和c之间共同有3和5这两个元素。
无论是使用内置的intersect函数,还是编写自定义的函数来查找向量之间的共同元素,在R中都是非常容易实现的。连个小巧的函数intersect和自定义函数find_common_elements都足以完成这个任务。