R 创建一个数字向量,其中没有数字在前一个元素的2范围内

R 创建一个数字向量,其中没有数字在前一个元素的2范围内,r,R,我想创建一个数字向量,这些数字在6-20、21-35等之间随机间隔,一直到500。我和赛普利一起做了这件事 positions <- sapply(seq(6, 500, by = 15),function(x) x + sample(1:15, 1)) positions听起来好像你不在乎序列的长度。如果是这样的话,如果我正确理解了你的问题,那么下面的内容应该可以满足你的要求: positions <- positions[diff(positions) > 2] 位置

我想创建一个数字向量,这些数字在6-20、21-35等之间随机间隔,一直到500。我和赛普利一起做了这件事

positions <- sapply(seq(6, 500, by = 15),function(x) x + sample(1:15, 1)) 

positions听起来好像你不在乎序列的长度。如果是这样的话,如果我正确理解了你的问题,那么下面的内容应该可以满足你的要求:

positions <- positions[diff(positions) > 2]
位置2]

您可能还需要使用
while
语句,以防删除某些值后,仍有值在要删除的阈值内

这段混乱的代码可以做到这一点-让我看看是否可以清理它

positions <- c()
x <- 0
for (i in seq(6, 500, 15))
{
    sub.samples <- setdiff(1:15 + i, seq(x-2,x+2,1))
    x <- sample(sub.samples, 1)
    positions <- c(positions,x)
}

positions你好,当用随机数提问时,设置一个种子可能会有帮助:
while(any(dd2)){positions[dd]你是对的。我不知道为什么我在每个间隔中读两个数字……我需要咖啡。