0

我无法理解如何在 R 中编写用于向量的函数。对于这个问题:

编写一个 R 函数来确定表示为整数向量的两个集合 A 和 B 是否不相交。如果它们不相交,则显示集合 A 的元素,否则显示集合 B 的元素。

我了解函数和条件语句的基本格式,例如:

name <- function(x){ 
           if (x>3) print("x is greater than 3") 
           else print ("x not greater than 3") 
        }

但是,对于上述问题,我不知道如何去做类似的事情,而是以向量作为参数。有答案吗??

4

1 回答 1

1

正如您所拥有的那样,只需将单个值替换为向量的名称即可。您必须注意,您现在处理的是一系列数字,而不仅仅是一个值。使用类似anyand之类的函数all可能对您进行比较有用(请参阅?any?all以获取说明)。

vec1 <- 1:3
print(vec1)
vec1

vec2 <- 2:4
print(vec2)
vec2

grthan3 <- function(vectorname) { 
if (any(vectorname > 3)) print("1 or more values > 3")  else
                         print("no such luck")  
}

grthan3(vec1)
#[1] "no such luck"
grthan3(vec2)
#[1] "1 or more values > 3"

像@joran 一样,如果这是一个家庭作业问题,我会注意不只是解决问题。

于 2012-05-02T03:27:37.620 回答