我正在尝试创建一个简单的函数,当你输入三个数字时 - x - 任何数字变量,y和z - 范围的最小值和最大值 该函数将返回一条消息,告诉您该号码是否在范围内。我应该在函数
中使用x % in range
的特定公式
inrange = function(x, y, z){
range = y:z
if (x % in range)
print("number is in range")
else print("number is not in range")
}
当我尝试此代码时,我返回时出现错误,表示无法识别结束括号。这是为什么?
答案 0 :(得分:1)
这是一个矢量化版本,不仅适用于步长函数为1的序列。它返回x范围内的索引
inrange <- function(x, y, z) {
y <- rep(y, length=length(x)) # To fix partial recycling of y/z
(x>=pmin(y,z)) * (x<=pmax(y,z))
}
这使您可以执行以下操作:
> inrange(1:10, 3, 7)
[1] 0 0 1 1 1 1 1 0 0 0