用向量在R中编写函数

时间:2012-05-02 03:01:05

标签: r

我无法理解如何在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") 
        }

然而,对于上述问题,我不知道如何做类似的事情,但以矢量作为参数。任何答案??

1 个答案:

答案 0 :(得分:1)

正如您所拥有的那样,只需将单个值替换为向量的名称即可。您必须注意,您现在正在处理一系列数字,而不仅仅是单个值。使用anyall等功能可能会对您进行比较(请参阅?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一样,我注意到如果这是一个家庭作业问题,不仅要解决问题。