从R中的序列中随机提取多个连续项

时间:2015-10-05 09:35:42

标签: r sequence

Frag <- seq(1: 30000)
K <- 9
P <- sample(1:K,1)
sys.sample <- Frag[seq(P, length(Frag), K)]

现在sys.sample包含3333个数字。如何在R中随机提取16个连续项?

2 个答案:

答案 0 :(得分:6)

如果向量v包含n个元素,并且您想要随机提取p个连续元素(p<=n),则可以执行以下操作:

possibleIndex = seq(length(v) - p + 1)
firstIndex = sample(possibleIndex, 1)

v[firstIndex:(firstIndex + p -1)]

答案 1 :(得分:0)

将@ColonelBeauvel的答案放入函数中

extractRandWindow <- function(x, p){
    firstIndex = sample(seq(length(x) - p + 1), 1)
    x[firstIndex:(firstIndex + p -1)]
}

enter image description here