Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
确定所有值是否都是R中的相邻整数_R_Integer - Fatal编程技术网

确定所有值是否都是R中的相邻整数

确定所有值是否都是R中的相邻整数,r,integer,R,Integer,我试图测试对象中的所有值(如果有序)是否都是相邻的整数值。例如: x <- c(1,2,3) is.adjacent(x) TRUE y <- c(1,2,4) is.adjacent(y) FALSE z <- c(4,2,1,3) is.adjacent(z) TRUE x这里有一个解决方案。我构造它的目的是,对于包含一组连续整数的向量,它将返回TRUE,即使其中一些整数是重复的(例如c(1,3,2,1,1))。如果希望在这种情况下返回FALSE,只需删除调用uniq

我试图测试对象中的所有值(如果有序)是否都是相邻的整数值。例如:

x <- c(1,2,3)
is.adjacent(x)
TRUE

y <- c(1,2,4)
is.adjacent(y)
FALSE

z <- c(4,2,1,3)
is.adjacent(z)
TRUE

x这里有一个解决方案。我构造它的目的是,对于包含一组连续整数的向量,它将返回
TRUE
,即使其中一些整数是重复的(例如
c(1,3,2,1,1)
)。如果希望在这种情况下返回
FALSE
,只需删除调用
unique()
的部分即可


是。严格地说,您还希望函数测试
X
是否是一个整数向量(这样类似
c(3.5,4.5,2.5)
的值不会计算为
TRUE
),但这似乎太迂腐了,无法添加到解决方案中。谢谢,我实际上已经有了一个(单独的)首先测试元素是否为整数的函数。
is.adjacent <- function(X) {
    all(diff(sort(unique(X))) == 1)
}

# Try it out
x <- c(1,2,3)
y <- c(1,2,4)
z <- c(4,2,1,3)

is.adjacent(x)
is.adjacent(y)
is.adjacent(z)