编写一个R函数,输入参数是两个向量,要求函数输出这两个向量的交集、并集、补集;
时间: 2024-03-17 18:46:35 浏览: 17
好的,以下是符合您要求的R函数:
```R
mySetOperation <- function(vec1, vec2) {
intersection <- intersect(vec1, vec2) # 交集
union <- union(vec1, vec2) # 并集
complement1 <- setdiff(vec1, vec2) # vec1 的补集
complement2 <- setdiff(vec2, vec1) # vec2 的补集
# 输出结果
cat("交集:", intersection, "\n")
cat("并集:", union, "\n")
cat("vec1 的补集:", complement1, "\n")
cat("vec2 的补集:", complement2, "\n")
}
```
这个函数接受两个向量为输入参数,分别计算它们的交集、并集、以及每个向量相对于另一个向量的补集,并将结果输出。注意,函数中使用了R内置的`intersect()`、`union()`和`setdiff()`函数来计算交集、并集和补集。您可以直接调用这个函数,如下所示:
```R
vec1 <- c(1, 2, 3, 4)
vec2 <- c(3, 4, 5, 6)
mySetOperation(vec1, vec2)
```
运行结果如下:
```
交集: 3 4
并集: 1 2 3 4 5 6
vec1 的补集: 1 2
vec2 的补集: 5 6
```
希望可以帮到您!如果您有任何问题,欢迎随时向我提出。